Windowsコンテナのための「Hyper-Vコンテナ」は、Hyper-Vの分離環境を利用して、カーネルを提供するOS環境(Hyper-Vの別パーティションのWindows Server)上にサンドボックス環境を構築します。
現行バージョンは、Windows ServerコンテナとHyper-Vコンテナのどちらも、Windowsコンテナ(microsoft/windowsservercore、microsoft/nanoserver、およびこれらをベースとしたアプリケーションを含むイメージ)専用です。Linuxのカーネルを提供する環境が存在しないため、Linuxコンテナを実行することはできません。
Windows 10 Fall Creators UpdateおよびWindows Server バージョン1709では、Hyper-VコンテナでLinuxコンテナを実行できるようになる予定です。この計画は2017年4月に「DockerCon 2017」で発表され、9月に初めてその具体的な実装が披露されました。そして、Windows 10 Insider PreviewおよびWindows Server Insider Previewで評価することが可能になりました。
現在の実装では、「LinuxKit」(コンテナ実行に特化したLinux Subsystem)のコンテナ向けLinux、またはUbuntuベースのコンテナ向けLinuxをHyper-Vの仮想化環境と分離し、Linuxカーネルのサンドボックス環境をHyper-Vコンテナとして実現する形になっています(画面5)。
Hyper-VコンテナにおけるLinuxのサポートは、ようやくフィードバックの受付が始まったばかりであるため、実運用環境で利用できるようになるまでには、しばらく時間がかかりそうです。
これらのバリエーションは、見た目があまり変わらないため、違いを区別しようとすると混乱してしまいそうです。
MicrosoftはSQL Server 2017 on LinuxのDockerイメージ(microsoft/mssql-server-linux、2017年10月4日に正式提供開始)を提供していますが、これはLinuxベースのコンテナです。Hyper-VコンテナでLinuxコンテナがサポートされると、Windows上のHyper-VコンテナでSQL Server on Linuxを実行できるようになるはずです。ちょっと想像してみてください。混乱するでしょう?
次回は、これらのバリエーションを技術的な面からさらに深く解説します。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.