🐳

WindowsでもサクサクDocker (Rancher Desktop with WSL2)

2022/02/04に公開

目的

以前に 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を使えるようにします。
大まかには下記手順になります。

  1. 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をダウンロードしてインストールします。
https://rancherdesktop.io/

Download Rancher Desktop

また、GitHubからも取得することが可能です。
https://github.com/rancher-sandbox/rancher-desktop/releases

インストーラを実行すると、まずはライセンスの確認が表示されます。

ライセンス契約書

内容を確認し同意すると、インストールが開始されます。

インストール

WSL2 の環境がすでに整っている場合は、以下のダイアログが表示されインストールは完了します。

インストール完了

WSL2のインストール

インストールの途中で以下のようなダイアログが表示される場合があります。
この場合はインストーラが WSL2 の機能を有効にしようとしています。
「はい」を選択し、インストールを進めてください。
管理者権限確認

WSL有効可

WSLを有効化するには再起動が必要になります。
「今すぐ再起動する」を選択して、再起動してください。
再起動

二度の再起動が完了したら、インストールは完了です。

Docker Engineの起動

スタートメニューまたはデスクトップ上のアイコンから「Rancher Desktop」を実行します。

初回起動時には以下のようなランタイムを選択するダイアログが表示されます。
必要に応じて選んでください。
選択したランタイムによって管理コマンドが変わってきます。
この例では「dockerd」を選択しています。
なお、このランタイムはあとから設定画面で変更可能です。

ランタイムを選んで「Accept」を押すと、下記画面が表示されます。
左下のプログレスバーが無くなれば準備完了です。

Dockerの動作確認

Docker Engineを起動できたら Hello World を実行して、動作を確認してみましょう。
コマンドプロンプト または PowerShell 上で以下のコマンドを実行します。

Hello Worldの実行 (dockerd)
docker run --rm hello-world

ランタイムに containerd を選択した場合は以下になります。

Hello Worldの実行 (containerd)
nerdctl run --rm hello-world

うまく動けば以下のように表示されるはずです。

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イメージの削除 (dockerd)
docker rmi hello-world
Dockerイメージの削除 (containerd)
nerdctl rmi hello-world

以上でRancher Desktopのインストールは完了です。
それでは存分にDockerを楽しみましょう!!

Discussion