WindowsでDockerが動くまでの6ステップ
WindowsでDocker動かすまでが長い。WSL2の有効化、カーネル更新、Ubuntu入れて、やっとDocker本体。Mac勢が brew install docker で終わってるのを横目に、こっちは管理者権限でPowerShell開いてる。
この記事ではWindowsでDockerが動くところまでを、スクショ付きで一通りやる。
① Windowsターミナルのインストール
まずWindowsターミナルを入れる。Microsoft Storeからインストールできます。
Microsoft Store – Windows Terminal

② Gitのインストール
次はGit。
-
公式サイトからインストーラをダウンロードして実行。
-
ライセンスに同意して「次へ」

-
コンポーネントの選択はそのまま「次へ」

-
ブランチ名は「main」にしておく。GitHubと揃えておくと後でハマらない

-
認証補助は「Git Credential Manager Core」を選択。2回目以降のログインが楽になる

-
あとはそのまま進めて完了

インストールが終わったらGit Bashで動作確認。
git --version
# git version 2.32.0.windows.1
Gitの準備は完了。
③ WSL2の有効化
ここが一番手順が多い。DockerをWindowsで動かすにはWSL2(Windows Subsystem for Linux 2)が必要です。
管理者モードでPowerShellを起動
Start-Process powershell.exe -Verb runas
必要な機能を有効化
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
再起動とLinuxカーネル更新
PCを再起動したら、以下からカーネル更新パッケージをダウンロードしてインストール。

デフォルトWSLバージョンの設定
wsl --set-default-version 2
Ubuntuのインストール
Microsoft Storeから「Ubuntu 20.04 LTS」をインストール。
Ubuntu 20.04 LTS – Microsoft Store

初回起動でユーザー名とパスワードを設定。
Enter new UNIX username: shumatsumonobu
New password:
Retype new password:
passwd: password updated successfully
WSL2の準備はここまで
④ Dockerのインストール
-
Docker公式サイトを開いて「Get started」からDocker Desktopのページへ。
-
「Download for Windows」でインストーラをダウンロード。

-
インストーラを実行。「Install required Windows components for WSL 2」にチェックが入ってることを確認して次へ

-
インストール完了したらDocker Desktopを起動

-
チュートリアルは「Skip」で飛ばす

-
「Settings → Resources → WSL Integration」で「Ubuntu-20.04」にチェック。これでDockerがWSL上で動くようになる

セットアップ完了。やっとDocker本体まで来た。
⑤ Hello Worldで動作確認
ここまで来たら、ちゃんと動くか確認。Ubuntu-20.04(WSL2)をWindows Terminalから起動して以下を実行。
docker container run hello-world
こんなメッセージが出れば成功。
Hello from Docker!
This message shows that your installation appears to be working correctly.
...
ここまで長かった。
⑥ 後片付け(コンテナとイメージの削除)
イメージ一覧の確認
docker image ls
停止中のコンテナも含めて一覧表示
docker container ls -a
コンテナを削除
docker container rm <コンテナID>
イメージを削除
docker image rm <イメージID>
使わなくなったコンテナやイメージは消しておく
やっとスタートラインに立てた
Dockerの環境構築、これで完了。長かったけど、ここからが本番。
次回は実際にアプリを作って、Dockerの基本操作を試していきます。
Discussion