はじめに
長い間、Windows Home で Docker を使う場合はいろいろ不便なことが多かったのですが、
最近(2020春頃)から、これまで Professional でしか使えなかった Docker for Desktop が Home でも使えるようになってきました。
これで開発環境に悩まず Docker をガンガン使っていけそうなので導入方法をまとめておきます。
Windows のバージョンを確認
Docker for Desktop は Windows 10 Home のバージョン2004(ビルド19018) から対応しています。
バージョンを確認するには Windows ボタン→設定→システム→バージョン情報で確認できます。
バージョンが低い場合は Windows Update の「更新プログラムのチェック」で更新してください。
※ 補足
2020/7/20現在、PCによってはバージョン2004に未対応の場合があり、以下の画面が表示されます。
この場合は、この後の手順で Windows Insider Program に参加してもインストールできな場合があるようです。残念ながらその場合は、対応されるまで待つしかなさそうです。
Windows Insider Program に参加(バージョンが上がらない場合)
Windows Updateでもバージョンが上がらない場合は Windows Insider Program に参加します。
参加するためにはMicrosoftアカウントを用意する必要があります。
設定はスローで問題ありません。
この画面になれば設定完了です。
再度Windows Update の「今すぐ更新」ボタンを押せば新しいバージョンがインストールされます。
Docker for Desktop for windows のダウンロード
から青い Download for Windows(stable) のボタンを押して下さい。
ボタンの表示が違う場合は、ボタン右の下向き三角部分を押して Windows の Stable を選択します。
しばらくすればダウンロードフォルダに Docker Desktop Installer.exe がダウンロードされます。
Docker for Desktop for windows のインストール
Docker Desktop Installer.exe を実行します。
Enabled WSL 2 Windows Fratures というのはWindows内でLinuxを動作させる仕組みのことで Docker は Linux を使うためチェックをつけた状態にします。
Add shortcut to desktop はデスクトップ上に Docker の起動アイコンを追加します。こちらもチェック状態のままにします。
「OK」ボタンを押します。
しばらくするとインストールが終わり、以下の画面が表示されます。
「Close and restart」ボタンを押すと Windows が再起動します。
最新の WSL2 Linux カーネル更新プログラムパッケージのインストール
再起動後下記画面が表示されます。
中央にあるリンクを開き、「最新の WSL2 Linux カーネル更新プログラムパッケージをダウンロード」 をクリックします。
最新の WSL2 Linux カーネル更新プログラムパッケージのダウンロード
ダウンロードされた wsl_update_x64.msi を実行しインストールします。
インストール完了したら、前に表示されていた画面の「Restart」ボタンを押して再起動します。
チュートリアル
起動すると以下の画面が表示されます。
インストールは完了しており、チュートリアルが表示されています。
ですがこれは残念ながら正常に動作しないので(2020/6/20時点)、×ボタンで画面を閉じてください。
(コンソールがPowerShellになっていてそのままコマンドが実行できない)
動作確認
コマンドプロンプトを起動して動作確認してみます。
Windows キー + R を押して、cmd と入力して実行します。
docker -v と入力し、Enter キーを押します。
バージョンが表示されます。
PHPコンテナの実行
試しにPHP環境を起動してバージョンを見てみましょう
以下のコマンドを入力して実行します。
docker run --rm -it php php -v
PHP7.4.7と表示されました。
これは、php:latest というDockerイメージをDockerHubから取得して、
コンテナを起動してコンテナ内の php -v コマンドを実行した結果が表示されたものです。
コンテナは php -v のコマンドを実行したらすぐに終了しています。
--rm は終了時にコンテナを削除するオプション、
-it はコンテナ内の入力ができるようにするオプションです。
Dockerイメージ一覧確認
docker images を実行するとダウンロードされたイメージの一覧が確認できます。
先ほどphp:latest を取得したのでそれが表示されています。
405MBと結構容量がありますね。
これで動作確認ができました。