投稿順序を間違えた。こっちが先。
Docker Desktopを導入した。正直色々調べながらどうにか入れたので理解しきれていない部分もある。ヒント程度の意味でまとめている。
Windows上でDockerを使うには
・WSL2 (Windows上でUbuntuを使う仕組み)
・Ubuntu (Windows上にMicrosoft Storeからインストール)
・Docker Desktop (本体)
の三つが必要。
順番は前後してもいい(私がやった順番は3124だがちゃんと動いた)。
wslはWindows上でLinuxを動かすための仕組みのこと。
コマンドプロンプトまたはPowerShellを開き、以下を実行する
そもそもwslが入っていない場合、インストールする必要がある。
wslにはバージョン1と2がある。基本的に2のほうが優れているので、Ubuntu環境を使うときにデフォルトで2を使うように設定しておく
Ubuntuを入れたあと、Ubuntuを実行しようとするとエラーが出る場合がある。これはupdateで解決する
WSLのおかげでWindows上でUbuntuを実行できる。Microsoft Storeへ行ってUbuntuを検索。バージョン違いが複数出てくる。特にこだわりがなければバージョン未表記のものを選べば最新版が入る。
インストール後、「開く」でUbuntuの設定が走る。Ubuntu上で使うユーザ名とパスワードを入力する。
もしここで以下のエラーが出るようなら上に書いたように wsl --updateを実行。
Installing, this may take a few minutes...
WslRegisterDistribution failed with error: 0x800701bc
Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????
Press any key to continue...
うまくいけばUbuntuのターミナルが使えるようになる。
以下へ行き、Docker Hub からダウンロード からダウンロード・インストールする。
https://docs.docker.jp/docker-for-windows/install.html
注意:インストール後、docker subscription service agreement という、利用規約に合意しろという意味のウィンドウが出てくるので、Acceptする。これをしないでCloseするとDockerが動かない。
コマンドプロンプト、PowerShell、Ubuntuのターミナルのどれでもいいのでdockerコマンドを実行
なお、私はここで
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.
For details about using Docker Desktop with WSL 2, visit:
https://docs.docker.com/go/wsl2/
に苦しめられた。調べるとDocker Desktopの設定から
[Resoures] → [WSL integration] → [Enable integration with additional distros:]
でUbuntuをOnにすれば解決、と言われるのだがその項目すらない。
私の場合は上で書いたように、docker subscription service agreementでAcceptしていなかったのでDockerが動いていなかった。
https://ascii.jp/elem/000/004/127/4127643/