Docker Desktop for WindowsがWindows10 Homeに対応したので動作確認

Posted by 雅楽斎 on Saturday, March 14, 2020

TOC

Docker DesktopがWindows10 Homeにも対応

「Docker Desktop」が「Windows 10 Home」の「WSL 2」に対応、プレビュー版が公開/「VS Code」と組み合わせてHome版WindowsでもDocker開発環境を手軽に構築可能

 米Dockerは3月5日(現地時間)、「Docker Desktop for Windows」が「Windows 10 Home」の「WSL 2」に対応したと発表した。「Windows Insider Preview」Build 19040(リリースノートによるとBuild 19018)以降とWindows版「Docker Desktop Edge2.2.2.0」の組み合わせで試験提供されている。

コンテナ仮想化アプライアンスであるDockerを扱いやすくするDocker Desktopは元々Hyper-V上で動作するという要件から、これまで動作対象OSはWindows10 Professional等の【HomeではないWindows 10】でした。

Windows10 Homeは20H1で内部でHyper-Vが動作するWSL2が利用できるようになることから、結果としてHomeでもHyper-Vが必要なソフトウェアが動作するようになります。

その流れで、Windows用のDocker DesktopもWindows10 Homeで動作するようになり1、先日プレビュー版(edge)としてWindows10 Home用のバイナリが公開されました。安定版(stable)ではまだHome上で利用できません。動作も20H1のWindows10 Homeが必要です。

Insider Preview版のWindows10 HomeでWSL2を使う方法については以下で紹介しています。

Windows10 19033でWSL2を試す

Docker Desktopをインストール

Docker Desktop for Windows Home is here! - Docker Blog

Last year we announced that Docker had released a preview of Docker Desktop with WSL 2 integration. We are now pleased to announce that we have completed the work to enable experimental support for Windows Home WSL 2 integration. This means that Windows Insider users on 19040 or higher can now install and use Docker Desktop!

edge版のDocker Desktopをダウンロードしますが708MBあります。なんてこった。リンクは https://download.docker.com/win/edge/Docker%20Desktop%20Installer.exe になっています。

「Close and log out」を押します。押した瞬間にがっつりWindowsからログアウト(ログオフ)するので、作業中のファイルは保存しましう。

もう一度Windowsにログイン(ログオン)すると右下の通知領域の近くにこんなウィンドウが表示されます。

コマンドプロンプトを開いて適当なコマンドを実行すると、

>docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:22:37 2019
 OS/Arch:           windows/amd64
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:29:19 2019
  OS/Arch:          linux/amd64
  Experimental:     true
 containerd:
  Version:          v1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

という感じで、Windowsからdockerを実行できるようになっています。

試しにそのままhello-worldしてみると、

>docker container run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:f9dfddf63636d84ef479d645ab5885156ae030f611a56f3a7ac7f2fdd86d7e4e
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/

という表示がされて、問題なく動作しています。

タスクトレイのクジラアイコンを右クリックしてAbout Docker Desktopを選ぶと付随してインストールされる諸々のバージョンが表示されます。

VSCodiumVSCodeから操作する

VSCodiumでRemote Developmentプラグインをインストール→悲報発生

Remote Development - Visual Studio Marketplace

【悲報】VSCodiumではRemote Developmentプラグインが動作しない

Remote Containers and VSCodium · Issue #1925 · microsoft/vscode-remote-release

In #967 @kieferrm writes: Reminder: You may only use this software with Visual Studio family products, as described in the license (https://go.microsoft.com/fwlink/?linkid=2077057) Right. But since...

なのでVSCodeをインストールしてRemote Developmentプラグインをインストール

このためだけにVSCodeのインストールです…

インストールが終わったらVSCodiumでは表示されることがないRemote Explorerをクリックすると自動的にDockerとWSLが表示されます。

左下の「><」をクリックして、表示されるドロップダウンから「Remote-Containers: Open Folder in Container…」でdocker-compose.ymlがあるようなディレクトリを選んだりするとDocker Composeのビルドが始まったりするそうです。

余談:クリティカルなタイミングでWSL2自体が動かなくなったのでkernelの更新

Docker DesktopをインストールしたタイミングでOSを再起動したら何故かWSL2自体が動かなくなったのでその対応。

https://aka.ms/wsl2kernel に飛んでみるとつい最近kernelをアップデートしないといけなくなったようです。

WSL 2 Linux カーネルを更新しています | Microsoft Docs

ということで、amd64用のパッケージをダウンロードして実行することで元通りWSL2が実行できるようになりました。

スポンサーリンク


  1. もっとも、WSL2上で動作するLinuxディストロではDockerが利用可能なので、Dockerを使いたいというだけならDocker Desktopが必要ということはありません。 [return]

comments powered by Disqus