Windows 10 HomeはDocker Desktop for Windowsの夢を見るその知識、ホントに正しい? Windowsにまつわる都市伝説(157)

2020年1月21日、「Windows Subsystem for Linux(WSL)2」に対応した「Docker Desktop for Windows 2.2.0.0」がリリースされました。これまでHyper-Vの要件があるためにWindows 10 Homeでは利用できなかったDocker Desktopが、これでようやく使えるようになると、現在開発中のWSL 2の正式リリースを心待ちにしているユーザーがいるかもしれません。いつかは使えるようになる予定ですが、それは少し先のことになると思います。

» 2020年04月01日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

現在、開発中の「WSL 2」とは?

 「Windows 10」の標準機能である「Windows Subsystem for Linux(WSL)」(開発中のWSL 2に対してWSL 1と呼ばれることもあります)は、Linux ELF(Executable and Linking Format)64バイナリをWindows上でそのまま実行できるようにするサブシステムです。Windows 10 Anniversary Update(バージョン1607)で初めてβ版が搭載され、Windows 10 Fall Creators Update(バージョン1709)で正式版になりました。

 WSLはMicrosoft Storeで提供されるLinuxディストリビューションの基盤となるもので、Linuxディストリビューションに含まれる、または追加したLinuxバイナリが要求するシステムコール(API)を、WindowsカーネルがLinuxカーネルをエミュレーションして処理します。

 内部的には「Pico(ピコ)プロバイダー」という技術が使われており、Linux上でWindowsバイナリを動かす「SQL Server for Linux」にもこれと似た技術が使われています。ただし、現在のWSLは、Linuxカーネルのシステムコールの全てに完全対応していないことが課題であり、Linuxのアプリケーションによっては利用できない場合があります。

 現在、Windows Insider Programで提供中の20H1向けビルド(18917以降)で利用可能な次世代のWSL 2は、本物のLinuxカーネルをWindowsに同梱し(正式版はWindowsのイメージから分離され、Windows Updateを通じて最新カーネルが配布、更新される予定)、システムコールの100%互換を達成しながら、パフォーマンスの大幅な改善を目指しています(画面1)。

画面1 画面1 WSL 2で実行中のUbuntuディストリビューションのシェル環境。WSL 1とWSL 2は切り替えての利用や同時利用が可能

 WSL 2は、「仮想化ベースのセキュリティ(Virtualization-Based Security、VBS)」や「Windows Defender Application Guard(WDAG)」「Windowsサンドボックス」と似た技術で実現されています。ユーザーからは隠されていますが、Hyper-Vハイパーバイザーの分離環境でLinuxカーネルそのものが動いているイメージです。

 WSL 2は、WSLと同様に、Windows 10 Homeでも利用可能になる予定です。Windows 10 HomeはHyper-Vを搭載していませんが、Windows 10 October 2018 Update(バージョン1809)以降にはWSL 2に対応するために「仮想マシンプラットフォーム(VirtualMachinePlatform)」という機能が既に用意されています(画面2)。また、WSL 2がWindows 10 Homeでも利用可能になることは、以下の「WSL 2 FAQ」でも最初に言及されています。

画面2 画面2 Hyper-Vを搭載していないWindows 10 Home(x64)でも、Hyper-Vのサブセットである「仮想マシンプラットフォーム」という機能を搭載しており、WSL 2に対応できる

WSL 2対応のDocker Desktop for Windows 2.2.0.0がリリース

 2020年1月21日、安定版(Stable)の「Docker Desktop for Windows バージョン2.2.0.0」がリリースされました(2月11日にバージョン2.2.0.3がリリースされています)。このバージョンでは大きな機能変更が追加されており、その中の1つに「Docker Engine」のバックエンドとしてのWSL 2(WSL 2 backend)サポートが含まれます(画面3)。

画面3 画面3 Docker Desktop for Windows 2.2.0.0では、安定版として初めてWSL 2のサポートがExperimental機能として追加された

 Windows 10 Homeユーザーの中には、以下のようなことを期待した人がいるかもしれません。

  • WSL 2はWindows 10 Home(x64)でも利用できる

            ↓↓↓

  • Docker Desktop for Windows 2.2.0.0以降でWSL 2がサポートされた

            ↓↓↓

  • Docker DesktopをWindows 10 Home(x64)でも利用できる

 Docker Desktop for Windowsの将来について言及している2019年6月のDocker公式ブログでも、「……because WSL 2 works on Windows 10 Home edition, so will Docker Desktop.」と、WSL 2が利用可能になれば、Windows 10 HomeでもDocker Desktop for Windowsでも利用可能になるだろうということが示されています。

 残念ながら、現時点でDocker Desktop for Windowsの安定版(Stable)の最新バージョン(2.2.0.0)を、Windows 10 Homeにインストールして利用することはできません。

 なぜなら、以下のDockerのドキュメントにあるように、Windows 10 Creators Update(バージョン15063)以降のx64版、Pro(Pro EducationとPro for Workstationsを含む)、Enterprise、Educationエディションで、「Hyper-V」と「Containers(コンテナ)」の機能が有効化されていることが、Docker Desktop for Windowsのシステム要件だからです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。