【学習メモ】Docker環境構築メモ（Windows 11 HOME）

さっそくDockerのインストールを進めます！

https://www.docker.com/products/docker-desktop/

# Download Docker Desktopする

Downloadの選択肢がいくつかありました。

Windows版は2種類。
・AMD64
・ARM64


![スクリーンショット 2024-10-22 175954.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3852438/f0bed6f6-ad55-b28a-b31d-fdfbf7e21e94.png)


### DLすべきはAMDかARMか？

結論：
AMD／ARMとは
プロセッサーのアーキテクチャの種類（名称）


違いについてはこちらのサイトがわかりやすかったのでメモ。

https://it-textbook.com/archives/617


プロセッサとは？
→ハードウェア／CPU

https://wa3.i-3-i.info/word11281.html

アーキテクチャとは？
→構造

https://wa3.i-3-i.info/word16015.html



プロセッサーのアーキテクチャ
Ubuntuで次のように入力すると
CPUのアーキテクチャ（処理方式）が確認可能。
```
~$ uname -m
x86_64
```

PC＞設定＞システム＞バージョン情報＞システムの種類
でも確認可能で
私のPCの場合、下記の記載がありました。

>システムの種類：64 ビット オペレーティング システム、x64 ベース プロセッサ

私の使用しているPCはx86_64。
つまり、「AMD64」と同義のようです。
※「x64」と略されることが多いようです

そのため今回はAMDのものをdownloadします！



# エラー：Docker Desktop - WSL distro terminated abruptly


Dockerのインストールは無事に完了しました！

一方で下記エラーポップアップが表示されてしまいました。

>Docker Desktop - WSL distro terminated abruptly
A WSL distro that Docker Desktop relies on has exited unexpectedly. This usually happens as a result of an external entity terminating WSL (e.g. running wsl --shutdown). Restart Docker Desktop. If the issue persists, collect diagnostics and submit an issue ⁠.


Docker画面上でも
「Docker Engine stopped」と表示されています。

原因となりそうなものを潰していきたい。

### WSLがインストールされているか

#### 確認方法１
Windowsの「スタート（田）」＞「Windowsの機能の有効化または無効化」で検索＞「Linux用Windowsサブシステム」にチェックが入っていることを確認

またすでにUbuntuもインストール済のため、WSLはインストール済だと考えました。

#### 確認方法２
確証がほしかったのでこちらも試しました。
先にこちらで確認すべきでした。

ターミナルのPowerShellで確認。
```
wsl -l -v
```
![スクリーンショット 2024-10-23 170625.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3852438/204d56e6-cb03-a7e3-8b28-5a133bc9e9b3.png)


```
wsl --version
```
![スクリーンショット 2024-10-23 170634.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3852438/17ae4e28-f5c1-00a7-8d1c-4c7f85b82e16.png)


```
wsl --update
```

![スクリーンショット 2024-10-23 170642.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3852438/2c045553-1c5a-bbbe-12cf-8eed990f3c51.png)


wsl2がインストールされていて、最新の状態のようでした。


### WSL1とWSL2どっちがいいのか
基本的にはWSL2（最新版）を使う方がよさそうでした。
そのため、このままで良いと判断しました。

https://learn.microsoft.com/ja-jp/windows/wsl/compare-versions

# エラー文を再確認

> If the issue persists, collect diagnostics and submit an issue ⁠.

とあったので、リンク↓へ移動し、指示に従ってターミナル上から原因を診断しました。

https://docs.docker.com/desktop/troubleshoot/#diagnose-from-the-terminal:~:text=in%20step%20two.-,Diagnose%20from%20the%20terminal,-In%20some%20cases

診断結果は表示されたのですが、量も多くてよくわからず、
再度上記リンクに記載されているページ全体を読みました。

# GitHub上で検索

各OSのエラー対応方法に関しGitHub上での確認をおすすめされていたため、検索してみました。

https://github.com/docker/for-win/issues?q=is%3Aissue%20state%3Aopen%20%20WSL%20distro%20terminated%20abruptly


こちらが今回のエラー状況と似ていそうでした。


https://github.com/docker/for-win/issues/14044

>Until the updates the startup behaviour was pretty consistent re the crashes of Docker Desktop. I'm back to normal now.

上記を受けて、PCのアップデートを確認し更新してみました。
→同じエラー表示となりました

一方で、Dockerの更新は見当たりませんでしたので
アンインストール後、再度インストールを試してみました。

⇒Dockerが正常に動作しました！（ついに！！！）

### 結論：アンインストール後インストールしなおしたら正常に動作しました

よくアンインストールをおすすめされますが、まさか本当にこれだけで良くなるとは思わず…
少し悲しい気持ちがありますが、
次回以降環境構築で躓いたときには
早めにアンインストールすることを視野に対応していきたいと思います！