「Docker for Windows」をインストール

2021/12/21

Laravelのローカル環境の構築なんですが、ネットで調べてみると、Docker環境で構築している人が多いですね。

そんなわけで、自分の作業PCである「Windows10 Pro」に「Docker for Windows」をインストールしてみたのですが、Docker起動時にエラーが起きてハマってしまいました。

同じ状況で困っている人もいると思いますので、解決策も含めて、今回は「Docker for windows」のインストールについてエントリーします。

WindowsでDockerをインストールする場合は以下の3点をチェック!

【ポイント】
1.インストール時に "WSL2" を外す
2.制御フローガードの設定変更
3.ファイル共有設定

 

手順

1.Hyper-Vの有効化

WindowsにDocker環境を構築する場合は、事前に仮想化ソフトウェアをインストールしておく必要があります。

※お使いの Windows PC によっては、ここの作業はいらないケースがあります。

これに関しては別に記事をエントリーしていますので、そちらをご参考ください。

 

2.Docker for Windowsのインストール

Dockerの公式サイトから「Docker for Windows」をダウンロード&インストールします。

下記のリンクをクリックして「Download form Docker Hub」をクリック。

Docker公式

Dockerにサインインします。アカウントを持っていなかったら「Sign Up」のリンクから作成。

サインインして以下の画面が表示されたら「Download Docker Desktop for Windows」のリンクからインストーラをダウンロード。

ダウンロードが終わればそのままexeファイルを実行します。

(パターンA)「Install required Windows components for WSL2」のチェックを外してOK。

 
(パターンB)「Enable Hyper-V Windows Features」の場合はチェックをつけたまま。

 

3.エラー解決処理(制御フローガード)

1.Windowsセキュリティを起動

 

2.アプリとブラウザーコントロールをクリック

 

3.一番下にあるExploit protectionの設定をクリック

 

4.ブログラム設定のタブを選択

 

5.C:\WINDOWS\System32\vmcompute.exe を選んで「編集」をクリック

 

6.制御フローガード(CFG)のシステム設定の上書きのチェックを外して適用

このあと、Windowsを再起動させて設定を反映させます。

 

4.エラー解決処理(ファイル共有設定)

このままだと、この後のコンテナを立ち上げる作業で(docker-compose up -d)以下のようにエラーが表示されます。

このエラーは Docker の Settings(設定)である FILE SHARING で共有をかけると解決します。

Dockerのアイコンを右クリック→「Settings」からDockerの設定画面を開きます。

「Settings」-> 「FILE SHARING」-> +マークをクリック -> 共有するディレクトリを指定(例ではCドライブにしました)

設定したら「Apply & Restart」をクリックして設定を適用します。

これでDockerのインストール作業は完了です。

【 FILE SHARING がないケース 】
以下のように「General」-> 「Use the WSL2 based engine」のチェックを外してください。

 

5.動作確認

WindowsでDockerコマンドを打つときはWindows7以降についている「Windows Power Shell」を使います。

Git Bash(※WindowsでUnixコマンドを使用できる)でもできるので、今回はGit Bashでコマンドを実行してみます。

Git Bash は「Git for Windows」をインストールすると使えるようになります。


$ docker version

# ワンラインでバージョン表示する場合は以下
$ docker -v

 

Docker for Windows にはdocker-composeも入っています。$ docker-compose -vも使えます。

 
上記のようにDockerのバージョン情報が表示されればOKです。

以上です。

Docker学習 おススメ教材(by Udemy)
動画でプログラミング学習!ドットインストール、Schoo、Udemyのどれがいい?
 
Udemyを使ったLaravel学習方法

ゼロからはじめる Dockerによるアプリケーション実行環境構築

コンテナの実行方法を学び、Ruby on RailsやDjangoといったWebアプリケーションフレームワークを使用した環境構築について学びます。Docker MachineやSwarmといったDocker関連技術についても学びます。
4.2(3552)

 

本庄マサノリ

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

>> Twitter をフォローする

 

-環境構築