Windows10、11 にDocker をインストールしてみた

# 前提
1. 個人的学習
2. Windows10 やWindows11でDockerを使ってみたい
3. いづれは開発用メインとして扱いたい
4. 既にoracleの仮想環境ソフトは入れてある。※なくてもいい (22/8/27)
5. gitも入れてあります。

# 環境メモ
1. Windows10 Home メモリ8GB  64bit
2. Windows11 Home メモリ8GB  64bit(2022/8/27時点)

# Docker導入前知識メモ
## Windows10 Home (当記事作成当時)
> 最新情報は最下部の2022/08/27補足を参照。

> Docker Toolboxには、次のDockerツールが含まれています。

1. Docker Engineを実行してイメージとコンテナーを作成するDocker CLIクライアント
2. Docker Machineにより、Windows端末からDocker Engineコマンドを実行できます
3. docker-composeコマンドを実行するためのDocker Compose
4. Kitematic、Docker GUI
5. Dockerコマンドライン環境用に事前設定されたDocker QuickStartシェル
Oracle VM VirtualBox

> Docker EngineデーモンはLinux固有のカーネル機能を使用するため、WindowsでネイティブにDocker Engineを実行することができません。

> 代わりに、Docker Machineコマンドを使用して、docker-machineマシン上に小さなLinux VMを作成して接続する必要。このVMは、Windowsシステム上でDocker Engineをホストします。

# インストール手順メモ
## ステップ1：バージョンを確認する
> Dockerを実行するには、ご使用のマシンにWindows 7以降を実行する64ビットオペレーティングシステムが必要です。さらに、仮想化がマシンで有効になっていることを確認する必要があります。マシンがこれらの要件を満たしていることを確認するには、次の手順を実行します。

1. Windowsメッセージを右クリックし、[ システム ]を選択します。
> サポートされているバージョンを使用していない場合は、オペレーティングシステムのアップグレードを検討してください。

2. Windowsシステムがハードウェア仮想化テクノロジをサポートし、仮想化が有効になっていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/687ef857-d22a-01e1-e231-5f17fe8ca407.png)

## ステップ2：Docker Toolboxをインストールする
> Docker Toolboxソフトウェアといくつかの「ヘルパー」アプリケーションをインストールします。インストールにより、次のソフトウェアがマシンに追加されます。

1. Windows用Dockerクライアント
2. Docker Toolbox管理ツールとISO
3. Oracle VM VirtualBox
4. Git MSYS-git UNIXツール

:::note warn
注意
* 1
> 以前のバージョンのVirtualBoxがインストールされている場合は、Docker Toolboxインストーラーで再インストールしないでください。プロンプトが表示されたら、チェックを外します。

* 2
> Virtual Boxを実行している場合は、インストーラーを実行する前にそれをシャットダウンする必要があります。
:::

### Docker Toolboxの最新バージョンをダウンロードするには、Toolbox Releasesにアクセスして最新の.exeファイルをダウンロードします。

[https://github.com/docker/toolbox/releases](https://github.com/docker/toolbox/releases)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/131426ed-40a4-6c75-54e4-7c941a120499.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/68314510-bc22-9825-fb8c-15ddce9a8b3d.png)


> インストーラーをダブルクリックしてDocker Toolboxをインストールします。

> インストーラーは「セットアップ-Dockerツールボックス」ダイアログを起動します。

> プログラムに変更を加えることを許可するように求めるWindowsセキュリティダイアログが表示された場合は、[ はい]を選択します。システムにより、セットアップ-Docker Toolbox for Windowsウィザードが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/151c4ae3-26e4-03c5-4023-fc7a82665c65.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/5693cb62-07ea-96c2-eecf-053305307bd5.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/ffe61de2-e496-9222-65da-8f230ede3981.png)

## ステップ3：インストールを確認する
> インストーラーは、Docker Toolbox、VirtualBox、およびKitematicをアプリケーションフォルダーに追加し ます。このステップでは、Docker Toolboxを起動して、簡単なDockerコマンドを実行します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/19964055-ebfc-048b-f10d-45f357c6c726.png)

1. ↑ のアイコンから起動
2. Docker QuickStartアイコンをクリックして、事前設定されたDocker Toolboxターミナルを起動します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/08077b4b-a989-aff2-6522-e32deb236414.png)

> システムがユーザーアカウント制御プロンプトを表示して、VirtualBoxがコンピューターに変更を加えることを許可する場合。はいを選択します。

> ターミナルは、Docker Toolboxをセットアップするためにいくつかのことを行います。完了すると、ターミナルに$プロンプトが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/06f1dfb6-8287-b5ed-cdb0-c1d3b48fab62.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/343508cf-b8a5-c0af-22ea-a24c0f3e690a.png)

> システムがユーザーアカウント制御プロンプトを表示して、VirtualBoxがコンピューターに変更を加えることを許可する場合。はいを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/4afe7881-9705-ca35-f8f8-fabf825dc378.png)


>ターミナルは、Docker Toolboxをセットアップするためにいくつかのことを行います。完了すると、ターミナルに$プロンプトが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/da6872d0-fcba-15f3-7e78-183ba9ebad6f.png)

> 端末bashは、標準のWindowsコマンドプロンプトの代わりに特別な環境を実行します。bash環境がドッカーによって必要とされます。

3. プロンプトの横にあるマウスをクリックして、ターミナルをアクティブにします。

4. 次のコマンドを入力してRETURNキーを押します。

```vim
$ docker run hello-world
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/b7b4e088-a294-a6f0-07ae-c54ae2d097c9.png)

# 参考
[https://docs.docker.com/toolbox/toolbox_install_windows/](https://docs.docker.com/toolbox/toolbox_install_windows/)

# 所感
> 初回起動長かった、、

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/56422ed9-f32b-1d9a-d2b0-348db34289e5.png)


> Hyper-VがHomeでは使えないのでOracleVM使用

# まとめ
HyperVが使えないパソコンへの対応として、ホストとマウントさせたい場合は、OracleVMをアンインストールしてから、Docker toolbox でOracle も一緒に入れ直す

# 補足事項
:::note info
22/8/27補足
・Win10Home版についてDocker toolboxは不要でもよくなっていました。
・Dockerを最新(22/8/27版)して、WSLを以下から手動インストールとUbunts Windowsを導入したところ、Win10 Homeでも使用できました。

### 【Docker】「WSL 2 installation is incomplete」の解決法
> まずは３点確認
①WSLは有効になっているか？  
②WSLで動作させるOSをインストールしているか？
③インストール後に再起動したか？

それでも解決しない↓
[https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)
> すぐDLになります（以下のサイトに載っています)

以前のバージョンの WSL の手動インストール手順
[https://docs.microsoft.com/ja-jp/windows/wsl/install-manual#step-4%E2%80%94download-the-linux-kernel-update-package](https://docs.microsoft.com/ja-jp/windows/wsl/install-manual#step-4%E2%80%94download-the-linux-kernel-update-package)

![WSLバージョン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/7bb1f0b8-926a-8c4b-f8cd-8f0ec516e7b0.png)


> コントロールパネル確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/2d820759-e714-36fb-cdc7-598fd3bfcf1f.png)

> もし、Docker起動して、ずっとstartingになった場合は、
１度無効化してから有効化にして再度Docker立ち上げ直してみてください、

> PC再起動後にDocker起動の確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/57249/1f69fe9b-2e07-0cb7-7f88-69b6b1d96c57.png)


:::