2021/01/11
Laravelのローカル環境の構築なんですが、ネットで調べてみると、Docker環境で構築している人が多いですね。
そんなわけで、自分の作業PCである「Windows10 Pro」に「Docker for Windows」をインストールしてみたのですが、Docker起動時にエラーが起きてハマってしまいました。
同じ状況で困っている人もいると思いますので、解決策も含めて、今回は「Docker for windows」のインストールについてエントリーします。
手順
1.Hyper-Vの有効化
WindowsにDocker環境を構築する場合は、事前に仮想化ソフトウェアをインストールしておく必要があります。
これに関しては別に記事をエントリーしていますので、そちらをご参考ください。
2.Docker for Windowsのインストール
Dockerの公式サイトから「Docker for Windows」をダウンロード&インストールします。
下記のリンクをクリックして「Download form Docker Hub」をクリック。
Dockerにサインインします。アカウントを持っていなかったら「Sign Up」のリンクから作成。
サインインして以下の画面が表示されたら「Download Docker Desktop for Windows」のリンクからインストーラをダウンロード。
ダウンロードが終わればそのまま実行します。
インストールの設定はデフォルトでOK。
3.エラー発生
インストール後、Dockerを起動すると、ここでまさかのエラー。
Docker Desktop をインストールする前に、WSL2 をインストールする必要があります。インストールしていなかったら以下のような画面が表示されます。

リンク先にある「https://aka.ms/wsl2kernel.」をクリックし、解説にしたがって WSL2 をインストールしてください。リンク先に書いてある作業を終えたら再び画面にある「Restart」をクリックするとDockerのインストール作業が完了されます。
4.エラー解決処理(制御フローガード)
1.Windowsセキュリティを起動
2.アプリとブラウザーコントロールをクリック
3.一番下にあるExploit protectionの設定をクリック
4.ブログラム設定のタブを選択
5.C:\WINDOWS\System32\vmcompute.exe を選んで「編集」をクリック
6.制御フローガード(CFG)のシステム設定の上書きのチェックを外して適用
このあと、Windowsを再起動させて設定を反映させます。
5.Welcomeウィンドウの表示
再起動後、DockerのアイコンをクリックしてWelcomeウィンドウが表示されれば、「Docker for Windows」の起動は完了です。
6.設定変更
Dockerのアイコンを右クリック→「Settings」からDockerの設定画面を開きます。
「Shared Drive」のタブを開きます。Dockerコンテナ-ホスト間でファイルを共有するドライブを指定します。
設定したら「Apply」をクリックして設定を適用します。
これでDockerのインストール作業は完了です。
7.動作確認
WindowsでDockerコマンドを打つときはWindows7以降についている「Windows Power Shell」を使います。
Git Bash(※WindowsでUnixコマンドを使用できる)でもできるので、今回はGit Bashでコマンドを実行してみます。
Git Bash は「Git for Windows」をインストールすると使えるようになります。
$ docker version
# ワンラインでバージョン表示する場合は以下
$ docker -v
$ docker-compose -v
も使えます。
上記のようにDockerのバージョン情報が表示されればOKです。
以上です。
自宅ではじめるDocker入門
Docker関連の数ある本でも、図や丁寧な解説で「わかりやすい」と評判がいい本です。コマンドを叩きながら、Dockerにおける「イメージ」「コンテナ」が理解できます。まだ、Kindle版が出てないのは惜しいですが、Docker入門としておススメの1冊です。

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら。