おれさまラボ

実際に手を動かして理解を深めるブログ。

Docker Desktop WSL 2 Backendを試す

はじめに

Windows10 PCにDocker Desktop WSL 2 Backendを入れてみました。

インストール手順

Docker Desktopはインストールされている前提です。

Settingsを開くと"Enable th experimental WSL 2 based engine (requires Win 10 build 19018+)"という項目がありますね。

チェックボックスがあるのですがグレーアウトされている状態です。

WSL2をDockerのバックエンドとして使うには、Windows10のバージョンがbuild 19018以上でないと使えないらしいのですが、私のWindows10は1909だったので、Insider Previewを有効にする必要がありました。

Insider Previewのインストール

ということで、OSの設定画面からInsider Previewの設定をします。

私はスローを選択しました。

Insider Previewを有効化したら、Windows UpdateからInsider Previewをインストールします。ダウンロードとインストールが終わったら再起動かかります。全体で30分くらいはかかります。

ということでまずはbuild 19041まで上げることができました。

WSL 2 based engineの有効化

"Enable the experimental WSL 2 based engine"にチェックを入れ、右下の"Apply & Restart"を押下します。

エラーが出てしまいました!

エラー画面の下半分に書かれているコマンドをPowerShell(管理者権限)で実行すると無事WSL 2ベースのDockerにすることができました。

PS C:\WINDOWS\system32> Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")                                                                                                     

Path          :
Online        : True
RestartNeeded : False

実行中はこんな感じでした。

とりあえずHello World!

問題なく使えます。

PS C:\WINDOWS\system32> docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:9572f7cdcee8591948c2963463447a53466950b3fc15a247fcad1917ca215a2f
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/

Docker Desktopの表示。

終わりに

そもそもこの最新のDocker Desktopで何が変わったのかはDockerのブログに投稿があります。

www.docker.com

docker-composeがうまく使えなかったりとまだ問題はあるようですが、個人的な使い方ではとくに問題なさそうなのでこのまま使っていこうと思います。

以上