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の正式リリースを心待ちにしているユーザーがいるかもしれません。いつかは使えるようになる予定ですが、それは少し先のことになると思います。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「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)。
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」でも最初に言及されています。
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)。
Windows 10 Homeユーザーの中には、以下のようなことを期待した人がいるかもしれません。
↓↓↓
↓↓↓
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.