Windows 10でBashやDockerが使えるようになるってホント?:その知識、ホントに正しい? Windowsにまつわる都市伝説(57)(3/3 ページ)
Windows 10のInsiderプログラム参加者に提供される「Windows 10 Insider Previewビルド」には、Windows 10の次のバージョン(機能アップグレード)に搭載予定の新機能が次々に追加されています。先日、「Build 2016」カンファレンスで発表された「Run Bash on Ubuntu on Windows」と「Hyper-Vコンテナ」のサポートは、最新のInsider Previewビルドに既に入っています。
残念ながらHyper-Vコンテナはまだ動きません
Windows 10に追加予定のもう1つの新機能「Containers」は、Windows Server 2016の同機能をクライアントOSに対しても提供するというものです。先に言っておくと、Insider Preview ビルド14316ではContainersの機能を有効化することはできますが、現状、コンテナを実行することはできません。
Windows Server 2016のContainersは、Windowsコンテナをサポートするマイクロソフトのコンテナ技術です。コンテナ技術といえば「Docker」ですが、ContainersはDockerではありません。ただし、DockerのWindowsバイナリを介してDocker APIの管理インタフェースを提供することはできます。これにより、Dockerコマンドや「Dockerfile」を使用して、Windowsコンテナの作成と実行が可能です。
Windowsコンテナには、「Windows Serverコンテナ」と「Hyper-Vコンテナ」の2種類存在します。Windows Serverコンテナは、ホストのWindowsカーネルを共有し、コンテナを実行します。一方、Hyper-Vコンテナは、仮想化環境で「Nano Server」というWindows Server 2016の軽量版を動かし、コンテナ専用のカーネルを提供することで、ホストや他のコンテナと分離されたコンテナの実行を可能にします。
- 明らかになった「Hyper-Vコンテナ」の正体(1)――その仕組みと管理方法(連載:vNextに備えよ! 次期Windows Serverのココに注目 第37回)
- 明らかになった「Hyper-Vコンテナ」の正体(2)――コンテナホストのセットアップ方法(連載:vNextに備えよ! 次期Windows Serverのココに注目 第38回)
Windows 10でサポートされるのは、“Hyper-Vコンテナのみ”となります。Windows Serverコンテナを利用できないのは、Windows Serverコンテナはホストとカーネルを共有するため、Windows Serverではないホスト上では実行できないというのが理由です。
先に言いましたが、本稿執筆時点では、Windows 10 Insider Preview上でHyper-Vコンテナを作成、実行することはできません。筆者は試行錯誤して、コンテナホストとしてセットアップすることはできましたが、本稿執筆時点で提供されているWindows Server 2016 Technical Preview 4(TP4)ベースのHyper-Vコンテナ用イメージ(NanoServer)を、ベースイメージとして登録することはできませんでした。また、Windows Serverコンテナ用のイメージを登録し、コンテナを作成することはできますが、実行することはできません。Windows 10はWindows Server 2016ではないため、これは当然の結果です(画面7)。
フォローアップ
2016年4月28日にWindows Server 2016 Technical Preview 5(TP5)がリリースされました。Windows 10 Insider Preview 14322をコンテナホストとしてセットアップしたところ、Hyper-Vコンテナが動作することを確認できました(画面8)。
Windows 10の新機能に関する“夢と疑問”
今回は、Windows 10で将来サポートされる予定のWSL、Bash on Ubuntu on Windows、Hyper-Vコンテナについて同時に取り上げました。
WSLがWindows 10にあるなら、ContainersでLinuxコンテナ(Ubuntuイメージ)を作成、実行できるようになるのかと連想してしまいそうですが、そんな話は全くありません。そうなればとても面白いとは思いますが、いまのところ、Windows Server 2016のContainersはWindows ServerコンテナとHyper-Vコンテナ専用、Windows 10のContainersはHyper-Vコンテナ専用ということです。
もう1つ、筆者が気になっているのは、Hyper-Vコンテナを実行するためのライセンスです。Hyper-Vコンテナは、コンテナごとにNano Serverを仮想化してカーネル環境を提供します。そして、Nano Serverはライセンス的には「Windows Server 2016のインスタンスと同じ」扱いです。実際のところ、どうなるのかは分かりませんが、Windows 10でHyper-Vコンテナを実行するには、ライセンス的な制限や条件が課せられることになるのではないでしょうか。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.