Windows 10 に Docker Desktop for Windows をインストールする

※ バージョンや条件、各種WEBサイトなどは執筆当時のものです。

# Windows10のエディションがDocker Desktop for Windowsに対応していることを確認

* `64bit`版 かつ、
* `Professional` or `Enterprise`エディション

~~Homeエディション~~や32bit版はサポートされていません、ご注意！
↓
Homeでも使える方法が最近推進されているそうです。
こちらの記事をご紹介します。
https://techracho.bpsinc.jp/ebi/2020_03_27/90477

# VT-xが有効であることを確認

もうひとつ条件があります。
`VT-x`という機能に、パソコンのCPUが物理的に対応していないとダメです。
(VT-xはIntel製CPUでの呼び名です。AMD製CPUも同じ機能があり`AMD-V`という名前になります。)

## CPUがVT-xに対応しているモデルか確認する。

こちらのサイトを参考に、
https://www.intel.co.jp/content/www/jp/ja/support/articles/000005486/processors.html

* 自分のパソコンのCPUの型番を調べる。
* VT-xに対応しているか、CPUメーカーのWEBサイトで調べる。

`インテル バーチャライゼーション・テクノロジー(VT-x)` が `はい` ならOK！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/250bc403-8dd0-2e74-1ac6-f63fe927bd3d.png)

## BIOSでVT-xが有効になっているか確認する。

次は、実際にパソコンでVT-xが有効になっているか確認しましょう。

### BIOS画面を開く。

パソコンの電源を入れたとき最初に表示される↓のような画面で`DELキー`を連打します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/86405bfb-d3ab-3ebf-7cb2-8422449fd637.png)

パソコンによっては違うキーかも。
違う場合は、画面下部の英語メッセージを見極めてみて下さい。

### VT-xの設定を確認する。（無効なら、有効に変更する）

BIOS画面が起動したら、`詳細`メニューに`CPUの設定`のような項目があるので開きます。
`Intel Virtualization Technology` とか `VT-x` とか書かれている設定を`有効`にしましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/a8dadd80-46f2-7ec5-454b-6c4d176ba179.png)

# Hyper-Vを有効化

もうひと息です！
今度はWindows側の設定で`Hyper-V`という機能を有効にしましょう。
（このHyper-VのためにVT-xが必要だったのです。）

## Windowsを起動し、コントロールパネル→`プログラムと機能`を開く。

エクスプローラのアドレスバーなどに
`コントロール パネル\すべてのコントロール パネル項目\プログラムと機能`
と入力してコントロールパネルを開きましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/03f4cbc0-5cc7-a992-22fa-faeb3f649dbc.png)

## `Windowsの機能の有効化または無効化`を開く。

`プログラムと機能`画面の左側にある`Windowsの機能の有効化または無効化`を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/8903c8f8-6be0-a8bd-a0c6-fa8ba8d070c7.png)

## `Hyper-V`にチェックを入れてOKボタンを押す。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/b42faf6f-80bd-0b12-3a6f-e02a892dfd2e.png)

## Windowsの再起動を要求されたら、再起動する。

# Docker Desktop for Windows をインストール

やっと`Docker`をインストールするところまで来ました。
あと少し！

## インストーラーをダウンロードする。

Docker公式サイトからWindows用インストーラーをダウンロードしましょう。

https://hub.docker.com/editions/community/docker-ce-desktop-windows

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/2bc11b65-6801-9cf2-6255-0afa249538be.png)

## インストーラーを実行する。

こだわりがなければ設定は特にいじらず、OKを押してインストール開始しましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/d56b3779-00df-5d7f-d5d5-bb4a147896ac.png)

## Windowsを再起動する。

Windowsの再起動を要求されます。
もし他のソフトで何か作業中だったらご注意を。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/58abb038-a821-15b3-2ccf-c9762c8c3892.png)

# Docker本体の起動確認

Windowsを起動すると自動的にDockerも起動してくれるようになっていると思います。
Dockerウィンドウは×で閉じても大丈夫です。（タスクバーに常駐しているはずです。）
常駐さえしていれば、Dockerが使える状態です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/d9f5cda1-2f2f-245e-dcda-bd4fac1eea4d.png)

また、タスクバーのアイコンを右クリックして`Quit Docker Desktop`すると終了させることができます。

ちなみに一見IDとパスワードを要求されているような画面ですが、全然必須ではありません。
これは`Docker Hub`というdockerイメージ共有サービスのやつです。
(便利なので機会があったら利用してみて下さい。)

# Docker動作確認

ちゃんとDockerが使えるか、簡単に確認しましょう。

## コマンドプロンプトを起動する。

画面左下のWindowsボタンを右クリックして`ファイル名を指定して実行`を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/702f64e7-6ef1-e67e-39e3-1a595ff92635.png)

`cmd`と入力してOKを押します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/d1df21ca-87bb-418b-6043-7b178bb094d7.png)

## `docker --version`

コマンドプロンプトが起動したら

```
docker --version
```

と打ってみます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/0a88ac63-ba8e-399b-c318-3efe7345eb30.png)

バージョン情報を表す文字が表示されたら成功！

### もし「dockerコマンドが見つからない」とエラーになったら…

```
'docker' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
```

docker.exe が存在するフォルダを環境変数`PATH`に追加しましょう。
詳細手順はここでは割愛しますが、代わりに↓こちらの記事を紹介させていただきます。
> [Windows で環境変数 PATH をいじる方法のまとめ](https://qiita.com/sta/items/6d29da0dc7069ffaae60)

docker.exe があるフォルダの場所は、デフォルトのインストール設定では↓です。

```
C:\Program Files\Docker\Docker\resources\bin
```

もしインストール先フォルダをカスタマイズしてしまった場合は、↑を参考に探してみてください。

## `docker run hello-world`

今度はおためし用に公開されているdockerイメージ`hello-world`を実行してみます。
成功すれば`Hello from Docker!`と文字を返してくれるだけのdockerイメージです。

```
docker run hello-world
```

と打ってみます。
手元に`hello-world`イメージを持ってなくても、イメージ名をキーに`docker`コマンドがネット上から自動的に探してきてくれます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/564ea600-03cc-8a21-df84-393b3458f4b6.png)

やったぜ！

これで完了です！
お疲れ様でした:thumbsup:

# `docker-compose`

Dockerの追加機能として有名な`docker-compose`は、今回の手順で一緒にインストールされます。
dockerコマンドと一緒にパスが通っているので、そのままコマンドを打ってもOKです。

```
docker-compose version
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/b80c3e5e-840e-45ed-ab02-bcc5783577a1.png)

## docker-composeのバージョンアップのしかた

### 最新版をダウンロードする。

まず、こちらの更新情報ページから最新版のexeをダウンロードします。
https://github.com/docker/compose/releases

上から新しい順に書かれているんですが、
`Latest release`と表示されているバージョンを探し、exeをダウンロードしましょう。
(rcとか書いてあるものはまだ調整中のバージョンなので使わないでおきましょう)

ちなみにこのexe、一見インストーラーと勘違いしそうですが、そのまんまdocker-composeコマンド本体です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/553715/d1dde971-47ab-4e10-7296-e800f6c82e16.png)

### 既存のdocker-compose.exeをファイル名を変えておく。

デフォルトでは↓このへんにインストールされているので、探し出して名前を変えます。

```
C:\Program Files\Docker\Docker\resources\bin
```

`docker-compose.exe` → `docker-compose.exe.old` といった感じです。

### 新しいほうのexeをファイル名を変更する。

今度は、先ほどダウンロードした新しいほうのexeを`docker-compose.exe`に改名します。

### 新しいほうのexeをコピーする。

既存のexeが有った同じ場所に、新しいほうのexeをコピーすれば完了！