Windows10 HomeのWSL2にDockerを入れてみた

## はじめに

Windows 10 Home EditionをWindows10 バージョン2004 ビルド19041にアップデートし、WSL2を入れてみた。
ここでは、`Windows 10 Home Edition`の`Windows Subsystem for Linux(WSL) 2`に`Docker Desktop for Windows`をインストールしてみる。

## `Docker Toolbox`をアンインストール

`Docker Toolbox`を使用していた場合、関連モジュールを含めてアンインストールしておく。

1. `Docker Toolbox`をアンインストールする。
1. `VirtualBox`をアンインストールする。

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

[Docker Desktop WSL 2 backend](https://docs.docker.com/docker-for-windows/wsl/)に記載の手順に従い、インストールする。

### 事前準備

* [Windows10 バージョン2004 ビルド19041に上げてみた](https://qiita.com/homelan/items/eb5d404b1e67b8daf555)
* [Windows10 HomeのWSLをWSL2にアップグレードしてみた](https://qiita.com/homelan/items/c744e6d22078442603ad)

### インストール

1. [Docker Desktop for Windows](https://hub.docker.com/editions/community/docker-ce-desktop-windows/)にアクセスする。
1. `[Get Docker]`ボタンをクリックする。
1. `Docker Desktop Installer.exe`ファイルをダブルクリックし、実行する。
1. `Docker Desktop`のダウンロードが始まる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/ec50ec55-e3e6-6de4-ad23-f319e3bb8985.png)
1. 特にチェックを変更せずに、そのまま`[OK]`ボタンをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/01352bd0-68f6-a6c2-78a8-e4b5dd1dec86.png)
1. インストール(解凍)が始まる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/cc528219-e4f1-3932-0750-e4616280f392.png)
1. インストールが完了する。`[Close and log out]`ボタンをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/34af61c1-eaf8-bebe-270c-ec6967845761.png)
1. Windowsの再起動には至らないが、Windowsをログオフし、再度ログオンすることになる。

### `Docker Desktop for Windows`のダッシュボードを使用する

1. Windowsにログオンすると、`Docker`のダッシュボードが自動的に起動する。ここからの所要時間は2分！  
`[Start]`ボタンをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/9211b9b1-42b3-8c13-4f04-e9deee40d034.png)
1. 右側に`PowerShell`が開く。`[git clone https://github.com/docker/getting-started.git]`ボタンをクリックすると、`PowerShell`で試せるようになっている。`[Next Step]`ボタンをクリックする。  
`Git`コマンドが必要なので、インストールしておくこと。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/f55fefbb-7a23-e394-4703-2fdcf2208983.png)
1. 中央の青いボタンをクリックし、`docker101tutorial`という名称のDockerイメージを作成する。`[Next Step]`ボタンをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/123d3640-bd5f-304d-6186-1e575b3cf31f.png)
1. 中央の青いボタンをクリックし、Dockerイメージ(`docker101tutorial`)から`docker-tutorial`という名称のDockerコンテナが起動する。`[Next Step]`ボタンをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/0f6230cb-5e51-12cc-0bed-f890319ab9f1.png)
1. `[Sign in here.]`リンクをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/4112d854-569d-a354-b99a-cc8f207aecac.png)
1. ダイアログが開くので、`Docker Hub`にサインイン(ログイン)またはサインアップ(アカウント登録)します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/7a630e07-43dd-f9e6-0e42-185ce40b1430.png)
1. 中央の青いボタンをクリックし、Dockerイメージ(`docker101tutorial`)を`Docker Hub`にpush(登録)します。`[Done]`ボタンをクリックする。
1. `[Go directlly to the Dashboard instead]`リンクをクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/bf65d060-bc45-d6f8-812c-7662ab8a26a1.png)
1. `Docker Desktop for Windows`のダッシュボードが開いて、インストールが完了する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/cae1e5f6-1c8c-3a9e-ad32-41913d4386c8.png)

## `Docker Desktop WSL 2 backend`を使用

1. 右上に表示されている`[設定]`ボタン(歯車アイコン)をクリックする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/8c1565da-3116-3e04-cb64-10b7dafc310b.png)
1. `Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend)`という項目がグレーアウトし、チェックが付けられていることが分かる。
1. `[Docker Engine]`という項目があり、筆者の環境では`v19.03.8`がインストールされていることが分かる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/d3b7477d-b491-43b1-de11-3069b80265e8.png)
1. `[Resources]`-`[WSL INTEGRATION]`という項目があり、WSL2と統合できるようになっている模様。  
現在、筆者の環境にはWSL2のUbuntuがインストールされている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/255b8277-bc7c-1503-973d-73a42a527278.png)
1. 試しに、WSL2の`Ubuntu`を開き、`docker --version`コマンドを実行すると、`[Docker Engine]`と同じバージョンの`Docker`がインストールされていることが分かる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/e2610df2-b331-ee62-8bb8-26be3da6354c.png)

## `Visual Studio Code`に統合

1. 有無を言わせずアンインストールした`Docker Toolbox`だが、`Visual Studio Code`を起動したところ、これまでと同様に使用できる状態だった。しっかりと、`Docker Desktop WSL 2 backend`が統合されていることが分かる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/332590/2a340edb-16c6-6e43-e550-24f4181deb60.png)

## さいごに

`Docker Toolbox`に比べて、`VirtualBox`が占有していたディスク領域やメモリが減った分だけ、軽量になっています。同じPCとは思えません。

`Edge`は`Chrome`のダウンローダー、`PowerShell`は`WSL`のインストーラーとして活躍の場を見出すことができました。次は、いよいよ、`AWS CLI`/`AWS SAM CLI`を動かすことにチャレンジしたいと思います。