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
使用に関する情報を表示します。
リストオプションをつけてコマンドを実行すると、オンラインでインストールできるディストリビューションの一覧がみれます。既定の分布 とは デフォルトのディストリビューションということでしょう。Ubuntu のバージョン指定されていないものがデフォルトのようです。
PS C:\Users\washi> <span class="bold">wsl -l -o </span>
インストールできる有効なディストリビューションの一覧を次に示します。
既定の分布は ' * ' で表されます。
'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> <span class="bold">wsl --install -d Ubuntu</span>
要求された操作には管理者特権が必要です。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
インストール中: Ubuntu
Ubuntu はインストールされました。
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。
インストールが終了したら、 Windows を再起動します。
再起動後、自動的に Ubuntu が起動しました。初回起動で、Ubuntu で使用するユーザー名とパスワードを入力します。Ubuntu は 22.04 LTS がインストールされています。簡単ですね。
Docker Desktop をインストール する
Docker Desktop をインストールします。公式サイトからインストーラをダウンロードして実行するだけです。なので詳細は割愛します。
デフォルトで、WSL2 へのインテグレーションになっているのでそのまま進めていくだけ。こちらも簡単です。インストーラーの最後に “Close and Start” というボタンがでますが、クリックすると いきなり OSの再起動になりますのでご注意。
Hello コンテナ World を試してみる
再起動すると Docker Desktop が起動します。ライセンスの条項に合意すれば使用できるようになります。
念のため、コンテナの動作確認もしておきましょう。インストールした Ubuntu にはターミナルからアクセスできるようになっています。
docker コマンドもUbuntuから普通に使用できます。
オフィシャルイメージの Hello World を実行してみます。docker run コマンドを実行するだけで、イメージの pull もしてくれます。
https://hub.docker.com/_/hello-world
$ <span class="bold">docker run hello-world</span>
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:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. 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の古いインストール方法が検索の最初のほうにでてきてしまうのが悲しみ。非推奨。
Windows11 は、WSLのインストールがサクッとできてうれしいですね。
コメント