Windows10 May 2020 UpdateしてWSL2でDockerを動かす

ついに待ちに待ったWindows10 May 2020 Updateの配信が開始されました!
今回の目玉はやはりWSL2ですね~

順次Windows Updateから更新できるようになるそうですが、もう待ちきれませんw
いくつか不具合も出ているようですが、不具合に遭遇したら報告して貢献したらいいじゃないか。
…ということで、配信されるのを待たずに手動で早速アップデートしてみました。

Windows10 May 2020 Update

Windows 10 のダウンロード

上記URLにアクセスし「今すぐアップデート」をクリック
「Windows10Upgrade9252.exe」というファイルがダウンロードされるので実行

Windows10更新アシスタントが起動し「今すぐ更新」をクリック
画面の指示で進めば簡単に更新できる。

約2時間ほどでUpdateが完了しました。

WSL2の有効化

WSLを有効化する為、PowerShellを管理者権限で起動して下記コマンドを実行。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください

ということなので、下記URLからWSL2 Linuxカーネルを更新する。
https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel

あとはいつもどおりMicrosoft StoreにアクセスしUbuntuを検索しインストール。
PowerShellでWSL2をデフォルトに設定しておくとWSL2でインストールされる。

# WSLのデフォルトを設定
wsl --set-default-version 2

# インストール済みのディストリビューションをWSL2に変更する場合
wsl --set-version Ubuntu-18.04 2

# WSLのデフォルトで起動するディストリビューションを設定
wsl -s Ubuntu-20.04
wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  Ubuntu-18.04           Running         2
  Ubuntu                 Stopped         1

Docker DesktopをWSL2で動作させる

WSL2の設定を終えて再起動するとDocker DesktopがWSL2で有効化するか聞いてくるので有効化するとWSL2のデフォルトディストリビューションで動作するように設定してくれている。便利!

手動で有効化、もしくは別のディストリビューションで動作させる場合はDocker Desktopのsettingsから設定できる。

WSL2からDockerの確認

$ docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b7f0
 Built:             Wed Mar 11 01:25:46 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

まとめ

待ちきれずにWindows 10 May 2020 UpdateをインストールしWSL2を使ってみましたが、今のところ目立った不具合とかは感じられません。
むしろ他に何が変わったのか、、わからないくらい。

Docker DesktopとWSL2の連携も自動でやってくれたので、すごく楽にWSL2でDockerを動作させることもできました。

MicrosoftとDockerがどんどん便利になっていくな~と思ったら、もっと連携広げてくれるらしい!
Docker expands relationship with Microsoft to ease developer experience across platforms | TechCrunch