自分だけのクイズ作成 - Quipha公開中
スポンサーリンク
スポンサーリンク

【Docker Desktop】Windowsにインストール(WSL2)

Docker

当サイトではアフィリエイト広告を利用しています。

スポンサーリンク

Dockerを使おう

みなさんDockerを使っていますか?
環境をさくっと用意できるのは便利ですよね!

今回はWindowsにDockerをインストールする手順を解説します。
ついでにPython環境のコンテナを起動してみたいと思います。

2023/04/03 最新のDocker DesktopとWSL2で試しました。

他にも私のブログで、Dockerについて解説している記事がありますのでご覧ください。

使用するバージョン
  • Windows 11 / 10
  • Docker Desktop 4.17.1

MacにDockerをインストールする手順は、以下の記事をご覧ください。

Docker Desktopの有料化

2021年9月、Docker Desktopは、条件を満たした利用について有料になりました。
個人はこれまで通り無料で利用できますが、企業での利用は注意ですね。

(翻訳) Docker Desktop は、Docker Personal サブスクリプションの一部として、個人、非営利のオープン ソース開発者、学生および教育者、および従業員が 250 人未満で収益が 1,000 万ドル未満の中小企業向けに無料で使用できます。

https://www.docker.com/pricing/
Pricing
Dockerlicensingisalwaysfreeforpersonaluse.ButwhatifyourteamorbusinesswantstouseDocker?Compareourpricingoptionsandfeatures.

WSL2のインストール

Docker Desktopをインストールする前に、WindowsにWSL2をインストールしましょう。
以下の記事にまとめていますので、ご覧ください。

ダウンロード

Windows用のDockerデスクトップをインストールします。

以前は、Windows 10 Pro または Enterprise の64-bitが必要でしたが、WSL2をインストールすればWindows 10 Homeでも利用ができるようになりました。
本記事では、WSL2を使った構築を行います。

今回はWindows 11 Proを使用しておりますが、他のEditionでも同じだと思います。

以下のページより、Docker Desktop for Windowsをダウンロードします。

Install on Windows
HowtoinstallDockerDesktopforWindows

「Docker Desktop for Windows」をクリックし、インストーラをダウンロードします。

以前はダウンロードの際に、Dockerアカウントが必要でしたが、今は必要ありません。

インストール

ダウンロードしたインストーラを起動します。

ちなみに以前のインストーラはこんな感じでした。
可愛いクジラちゃん、Moby Dockって名前らしいですよっ

今回はWSL2で起動します。

2つのチェックボックスがありますが、「Use WSL 2 instead of Hyper-V (recommended)」のチェックを入れ、次へ進みます。

インストールが開始されます。

インストールが完了しました。
「Close and restart」ボタンをクリックし、再起動します。

再起動後、Dockerを起動すると規約画面が表示されます。
確認し、問題なければ「Accept」ボタンをクリックします。

もし、WSL2または、Hyper-Vが有効になっていない場合、エラーになります。
事前にWSL2のインストールを行いましょう。

An error occurred

Required Windows feature(s) not enabled: Hyper-V.
Switch to WSL 2 based engine?

To enable Hyper-V: https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v

Docker Desktop起動

Dockerが正常に起動すると以下のようなアンケート画面が表示されました。
ここではSkipします。


必要に応じてチュートリアルを見ましょう。

ちなみにチュートリアルはこのような感じで、Clone、Build、Run、Shareなど、Dockerの基本的な流れを実行することができます。

PowerShellを起動し、「docker ps」と打ちます。
以下のような表示になれば、まずは正常に動作しています。

PS C:\Users\xxx> docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
スポンサーリンク

設定

Dockerの設定を開きます。
「Start Docker Desktop when you log in」のチェックを外しました。
PC起動時に、Dockerは起動しないようにしました。

リソースの設定はWSL2では設定できませんでした。

Resources
Advanced
You are using the WSL 2 backend, so resource limits are managed by Windows.

You can configure limits on the memory, CPU, and swap size allocated to WSL 2 in a .wslconfig file.

Dockerイメージのダウンロードと起動

これでDockerの準備ができました。
コンテナが一つもありませんので、試しに表示されているコンテナを起動してみましょう。

以下のコマンドをPowerShellから実行します。

docker run -d -p 80:80 docker/getting-started

ブラウザを起動して、以下のURLを開きます。

http://localhost/

Getting Started画面が表示されました。
これはコンテナ上のサーバーのページにアクセスしていることになります。

Docker Desktopを見てみましょう。作成したコンテナが一覧に表示されます。

コンテナ名は、「recursing_herschel」になっていますが、ランダムに作成される名前です。

次に、Pythonイメージをダウンロードしてみましょう。
PowerShellから以下のようにコマンドを実行します。(Python3.6環境)

docker pull python:3.6

「docker images」でイメージがダウンロードされたか確認します。

PS C:\Users\xxx> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
python              3.6                 2bb3204ab1d1        8 days ago          924MB

コンテナを起動します。
「pytest」は名前ですので任意で指定してください。

docker run -it --name pytest python:3.6 /bin/bash

rootでログインしているような状態になります。

このコンテナには何も入っていないので、とりあえずエディタを入れました。

# apt-get update
# apt-get install -y vim

「vi test.py」とコマンドを打ち、test.pyファイルを作成します。
中身はprintで文字を出すようにしました。

print("test")

「python test.py」と入力し、Pythonが実行されることを確認します。

たったこれだけでPython環境が作れました

フォルダの共有

コンテナ側とWindows側で、フォルダを共有できます。
それによりソースコードやログファイルなどの共有ができ便利です。

Dockerのコンテナは、基本的に使い捨てですので、永続化したいデータなどは、このように外部へ保存するようにします。

今度はDockerコマンドで、「-v ホストパス:コンテナ内パス」を追加します。
それぞれのパスは任意で結構です。(別コンテナを作成します)

docker run -it -v D:\Docker\share:/root/share --name pytest2 python:3.6 /bin/bash

ここではDドライブを例にしていますが、共有場所はWSLを指定しましょう。
Cドライブなどを指定した場合、ファイルシステムの関係で読み込みが遅くなります。

もしフォルダを共有してよいか警告が表示された場合は、「Share it」をクリックします。

Docker Desktop – Filesharing

Docker wants to access to D:xxx.
Do you want to share it?

Windows側では共有したフォルダに、適当なファイルを作成します。

コンテナ側で、ファイルが作成されていることを確認します。
(Windows側で作成したPythonファイルをコンテナで実行した例)

Docker Desktopで確認

私は基本的にDockerコマンドで操作していますが、Docker Desktop上でもコンテナを操作できます。

コンテナ一覧

コンテナの一覧が表示され、稼働状況やCLIを開いたり、停止、再起動、削除などを行うことができます。

イメージ一覧

Dockerイメージの一覧が表示されます。

さいごに

このようにDockerは簡単に環境を用意でき、とても便利です。
ぜひ活用しましょう。

他にも私のブログで、Dockerについて解説している記事がありますのでご覧ください。

\オススメ/

コメント

タイトルとURLをコピーしました