Windows11 Pro 環境に WSLとDocker Desktop をインストールしたときのメモです。
概要
Windows で Docker コンテナを使うときは、Docker Desktop を使用しています。
有償化や諸々の理由で、世間では Docker 離れが進んできているようですが、手っ取り早く検証をしたい場合にはやはり楽で便利です。
Windows10の場合は、WSLの環境構築にひと手間ありましたが、最近のWindows11ではサクッとインストールできるようなので、試してみたいと思います。
WSL2にUbuntu をインストールし、そこへ Docker Desktop を 統合するという手順となります。
試した環境
Windows 11 Pro (22H2)
OSビルド: 22621.1992
RAM: 32.0GB
CPU: 13th Gen Intel(R) Core(TM) i7-13700 2.10 GHz
Ubuntu 22.04 LTS (WSLのデフォルト版)
Docker Desktop 4.21.1 (114176)
WSL に Ubuntu をインストール する
Windows11 のターミナルから操作していきます。

何もしなくても wsl コマンドが使えます。

ヘルプを眺めてみると --install オプションで、Linuxサブシステムをインストールできることがわかります。便利ですね。
使用方法: wsl.exe [Argument]
引数:
--install <Options>
Linux 用 Windows サブシステムの機能をインストールします。オプションが指定されていない場合は、
既定のディストリビューションと共に、推奨される機能がインストールされます。
既定のディストリビューションおよびその他の有効なディストリビューションの一覧を表示するには、
'wsl --list --online' を使用してください。
オプション:
--distribution, -d [Argument]
ダウンロードしてインストールするディストリビューションを名前で指定します。
引数:
有効なディストリビューションの名前 (大文字と小文字は区別されません)。
例:
wsl --install -d Ubuntu
wsl --install --distribution Debian
--inbox
Microsoft Store で利用可能なバージョンではなく、オプションの Windows 機能をインストールします。
--enable-wsl1
Microsoft Store バージョンで WSL1 サポートを有効にします。
--no-distribution
ディストリビューションをインストールしません ( --distribution と一緒には使用できません)。
--no-launch, -n
インストール後にディストリビューションを起動しません。
--web-download
Microsoft Store ではなく、インターネットから WSL の最新バージョンをダウンロードします。
--list, -l [Options]
ディストリビューションを一覧表示します。
オプション:
--online, -o
'wsl --install' でのインストールに利用できるディストリビューションの一覧を表示します。
--status
Linux 用 Windows サブシステムの状態を表示します。
--help
使用に関する情報を表示します。</code></pre>
リストオプションをつけてコマンドを実行すると、オンラインでインストールできるディストリビューションの一覧がみれます。既定の分布 とは デフォルトのディストリビューションということでしょう。Ubuntu のバージョン指定されていないものがデフォルトのようです。
PS C:\Users\washi> wsl -l -o
インストールできる有効なディストリビューションの一覧を次に示します。
既定の分布は ' * ' で表されます。
'wsl --install -d <Distro>'を使用してインストールします。
NAME FRIENDLY NAME
- Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed

Ubuntu をインストールします。管理者権限での実行確認が表示されますが、あとは勝手にインストールしてくれます。
PS C:\Users\washi>wsl --install -d Ubuntu
要求された操作には管理者特権が必要です。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
インストールが終了したら、 Windows を再起動します。
再起動後、自動的に Ubuntu が起動しました。初回起動で、Ubuntu で使用するユーザー名とパスワードを入力します。Ubuntu は 22.04 LTS がインストールされています。簡単ですね。

※追記
別のPCで実行したところ インストール後に Ubuntu が以下のエラーで起動せず。
WslRegisterDistribution failed with error: 0x800701bc
WSL の アップデートが必要でした。アップデート後に もう一度 wsl --install -d Ubuntu で起動するようになります。
>wsl --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
Docker Desktop をインストール する
Docker Desktop をインストールします。公式サイトからインストーラをダウンロードして実行するだけです。なので詳細は割愛します。
デフォルトで、WSL2 へのインテグレーションになっているのでそのまま進めていくだけ。こちらも簡単です。インストーラーの最後に "Close and Start" というボタンがでますが、クリックすると いきなり OSの再起動になりますのでご注意。

Docker Desktop は winget からもインストールできます。
>winget install Docker.DockerDesktop
Hello コンテナ World を試してみる
再起動すると Docker Desktop が起動します。ライセンスの条項に合意すれば使用できるようになります。
念のため、コンテナの動作確認もしておきましょう。インストールした Ubuntu にはターミナルからアクセスできるようになっています。

docker コマンドもUbuntuから普通に使用できます。

オフィシャルイメージの Hello World を実行してみます。docker run コマンドを実行するだけで、イメージの pull もしてくれます。
https://hub.docker.com/_/hello-world
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:926fac19d22aa2d60f1a276b66a20eb765fbeea2db5dbdaafeb456ad8ce81598
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
- The Docker client contacted the Docker daemon.
- The Docker daemon pulled the “hello-world” image from the Docker Hub.
(amd64)
- The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
- The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
こんな感じで、メッセージが確認できれば、OK です。
参考リンク
Windows 11 で WSL2 をセットアップしてみた
WSLの古いインストール方法が検索の最初のほうにでてきてしまうのが悲しみ。非推奨。

washiWindows11 は、WSLのインストールがサクッとできてうれしいですね。