Windows HomeへDockerをインストールする方法

# はじめに
WindowsにDockerをインストールするのが難しかったのは一昔のこと。
今ではWindows10 Homeであっても、ものの10分程度でインストールすることができます。

Dockerの進化はとても早く、WindowsへのDockerインストールはWSL2が出たことによってとても簡単になったので、普及も兼ねて記事にまとめたいと思います。

# Windowsのバージョン確認、アップデート
以下の操作（Windows HomeへのDockerインストール）を行うためには、Windowsをバージョン2004、ビルド19041以上にアップデートする必要があります。
※すでにバージョン2004以降であれば、この操作は不要です

https://support.lenovo.com/jp/ja/solutions/ht502786

# WSL2のインストール
WSL2とはWindows Subsystem for Linux 2の略で、Windows10上でLinuxを動作させるための仕組みです。
WSL2を使うと簡単にWindows上でLinuxを扱うことができるようになります。

1.PowerShellを管理者権限を起動します。
Windowsキーを押し、PowerShellと入力し、「管理者として実行する」を選択します。

2.管理者として実行しているPowerShellで下記を実行し、Linux 用 Windows サブシステムを有効します。
「操作は正常に完了しました。」と表示されれば成功です。  

```bash
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
```

3.管理者として実行しているPowerShellで下記を実行し、仮想マシンの機能を有効にします。
「操作は正常に完了しました。」と表示されれば成功です。
その後、パソコンを再起動します。

```bash
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
```

4.Linuxカーネル更新プログラムパッケージをダウンロードします。

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

5.WSL2を既定のバージョンとして設定します。
PowerShellを開いて次のコマンドを実行し、新しいLinuxディストリビューションをインストールする際の既定のバージョンとしてWSL2を設定します。
「WSL2との主な違いについては、https://aka.ms/wsl2 を参照してください」と表示されれば成功です。

```bash
wsl --set-default-version 2
```

6.Windowsキーを押し、MicrosoftStoreから「Ubuntu 20.04 LTS」をインストールします。
インストールが終わったら起動し、ユーザーネームとパスワードを入力します。
パスワードは必ず忘れないようにしましょう。入力が終わったら一旦Ubuntuは閉じます。
※マイクロソフトアカウントの登録がなくてもインストールは可能です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1490767/cb67eab2-f724-6e6f-fe0d-a5f978802c5d.png)

7.PowerShellを開いて次のコマンドを実行し、Ubuntuがデフォルトになっているか確認します。

```bash
wsl -l -v
```

叩いた結果が以下のように、Ubuntuに*印が付いていれば成功です。
*印が付いているものがデフォルトです。

```bash
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
```

もしUbuntuに付いていなければ、デフォルトを切り替えます。

```bash
wsl --set-default Ubuntu-20.04
```

以上でWSL2関連の対応はすべて完了です。

# Docker Desktop for Windowsのダウンロード
https://www.docker.com/products/docker-desktop

こちらからDocker Desktopをダウンロードし、パソコンにインストールします。
途中、チェックボックスの選択する場面がありますが、基本的にはデフォルトのままで問題ありません。

# Windowsターミナルのインストール
Dockerへのアクセスやコマンドの実行のためのターミナルをインストールします。
タブの分割などができたり、外観を変更したり等、自分好みにカスタマイズすることができます。
Windowsキーを押し、MicrosoftStoreから「Windows Terminal」をインストールします。
※マイクロソフトアカウントの登録がなくてもインストールは可能です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1490767/d82a712b-3c33-45fb-fd45-7de904fcbadb.png)

# Docker導入時に一緒に追加されるディストリビューションについて
docker導入後にPowerShellで「wsl -l -v」を実行すると、「docker-desktop-data」と「docker-desktop」というのが表示されます。
これはWSL2のディストリビューションとして作られたものがマウントされているようです。
こちらを使わずにubuntu-20.04側を使うようにしましょう。

```bash
PS C:\hogehoge> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  docker-desktop         Running         2
  docker-desktop-data    Running         2
```

# 補足
WSL2を導入した場合、ターミナルで次のコマンドを実行すると、該当箇所をエクスプローラーで開くことができます。

```bash
explorer.exe .
```

また逆に、エクスプローラーで「\\\\wsl$」と入力するとWSLへアクセスできます。

# 関連サイト
https://qiita.com/nagareboshi/items/4ecf14390be7f036cb96

https://docs.microsoft.com/ja-jp/windows/wsl/install-win10

https://qiita.com/tomokei5634/items/27504849bb4353d8fef8