WindowsでもサクサクDocker (Rancher Desktop with WSL2)
目的
以前に WindowsでもサクサクDocker という記事を公開していますが、
そちらで利用しているDocker Desktopは2021年秋に一部条件を除いて有償化されました。
本手順ではDocker Desktopの代わりにRancher Desktopを使ってWindows上で快適にDockerを使える環境を構築します。
なお、WSL2上で直接Docker Engineを起動する方法も紹介していますので、よろしければそちらも参考にしてみてください。
WindowsでもサクサクDocker (Docker on WSL2 without Docker Desktop)
内容
有償化されたDocker Desktopを使わずに、Windows上でDockerを使えるようにします。
大まかには下記手順になります。
- Rancher Desktop のインストール
- Rancher Desktopのインストール
- WSL2のインストール
- 「WSL2 Linux カーネル更新プログラム パッケージ」のインストール
Rancher DesktopはバックエンドでWSL2を利用しますが、Rancher Desktopのインストーラがすべてお膳立てしてくれます。
なお、下記環境で動作確認を行っています。
- Windows 11 Pro 21H2 build:22000.376
- Windows 10 Pro 21H2 build:19044.1415
- Windows 10 Pro 21H1 build:19043.1415
- Windows 10 Pro 20H2 build:19042.1415
- Windows 10 Pro 2004 build:19041.1415
方法
Rancher Desktop のインストール
DockerをWSL2上で動かすためには、特別な準備は必要ありません。
以下のURLよりRancher Desktopをダウンロードしてインストールします。
また、GitHubからも取得することが可能です。
インストーラを実行すると、まずはライセンスの確認が表示されます。
内容を確認し同意すると、インストールが開始されます。
WSL2
の環境がすでに整っている場合は、以下のダイアログが表示されインストールは完了します。
WSL2のインストール
インストールの途中で以下のようなダイアログが表示される場合があります。
この場合はインストーラが WSL2
の機能を有効にしようとしています。
「はい」を選択し、インストールを進めてください。
WSLを有効化するには再起動が必要になります。
「今すぐ再起動する」を選択して、再起動してください。
二度の再起動が完了したら、インストールは完了です。
Docker Engineの起動
スタートメニューまたはデスクトップ上のアイコンから「Rancher Desktop」を実行します。
初回起動時には以下のようなランタイムを選択するダイアログが表示されます。
必要に応じて選んでください。
選択したランタイムによって管理コマンドが変わってきます。
この例では「dockerd」を選択しています。
なお、このランタイムはあとから設定画面で変更可能です。
ランタイムを選んで「Accept」を押すと、下記画面が表示されます。
左下のプログレスバーが無くなれば準備完了です。
Dockerの動作確認
Docker Engineを起動できたら Hello World
を実行して、動作を確認してみましょう。
コマンドプロンプト または PowerShell 上で以下のコマンドを実行します。
docker run --rm hello-world
ランタイムに containerd
を選択した場合は以下になります。
nerdctl run --rm hello-world
うまく動けば以下のように表示されるはずです。
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/
動作が確認できたら、不要なイメージは消しておきましょう。
docker rmi hello-world
nerdctl rmi hello-world
以上でRancher Desktopのインストールは完了です。
それでは存分にDockerを楽しみましょう!!
Discussion