前回はWindows Serverコンテナーと比較しながら、Hyper-Vコンテナーの仕組みや管理方法について説明しました。今回は、Windows Server 2016 Technical Preview 4(TP4)をHyper-Vコンテナー対応のコンテナーホストとしてセットアップする方法について説明します。
Windows Server 2016 Technical Preview 3(TP3)から利用可能な「Windows Serverコンテナー」は、Windows Server 2016 TP3を実行する物理サーバー、仮想マシン(仮想化技術は問わない)、およびMicrosoft AzureのIaaS(Infrastructure as a Service)環境(Azure仮想マシン)で評価できました。これは、Windows Server 2016 TP4でも変わりません。
「Hyper-Vコンテナー」はHyper-Vのハイパーバイザーに依存します。そのため、Hyper-Vコンテナーは、以下のコンテナーホスト環境で作成および実行できます。
仮想マシンでHyper-Vコンテナーを動かすには、「Nested Virtualization」(入れ子構造の仮想化、Nested Hyper-Vとも呼ばれる)のサポートが必要です。Microsoft Azureでは「Windows Server 2016 Core with Containers Tech Preview 4」というコンテナーホストとしてセットアップ済みのイメージが利用可能ですが、Microsoft AzureのIaaSはNested Virtualizationをサポートしていないため、Hyper-Vコンテナーを作成、実行することはできません。
コンテナーホストをセットアップする方法はいくつかあります。詳しくは、以下のマイクロソフトのドキュメントで説明されていますが、インストール済みのWindows Server 2016 TP4の「Server Core」インストールまたはフルGUI(Graphical User Interface)環境をコンテナーホストとしてセットアップするのが、最も標準的で分かりやすい方法でしょう。
上記のドキュメントで説明されているように、コンテナーホストのセットアップを自動的に行ってくれるWindows PowerShellスクリプトが公開されています。
インストール済みのWindows Server 2016 TP4を、Windows ServerコンテナーおよびHyper-Vコンテナー対応のコンテナーホストとしてセットアップするには、Windows PowerShellで次の2行のコマンドラインを実行するだけです(画面1)。「~\Install-ContainerHost.ps1」はユーザープロファイルフォルダー(例:C:\Users\Administrator)に「Install-ContainerHost.ps1」スクリプトを保存します。現在のフォルダーにスクリプトを保存する場合には「.\Install-ContainerHost.ps1」と指定してください。
1 wget -uri https://aka.ms/tp4/Install-ContainerHost -OutFile ~\Install-ContainerHost.ps1
2 ~\Install-ContainerHost.ps1 -HyperV
このコマンドラインを実行することにより、Containersの機能のインストールや仮想スイッチの構成、Dockerバイナリのインストールと合わせて、Hyper-Vの役割がインストールされていなければインストールされます。Hyper-Vコンテナーのサポートが不要な場合は、「-Hyper-V」パラメーターを省略してください。
また、Windows ServerコンテナーおよびHyper-Vコンテナーを評価する場合は、システムロケールを「英語(米国)」(en-us)にすることを強くお勧めします。システムロケールが「日本語(日本)」(ja-jp)の場合、コンテナーへの役割や機能の追加に失敗するという問題を確認しています。
システムロケールは、コントロールパネルの「時計、言語、および地域」から「地域」を開いて、「管理」タブにある「システムロケールの変更」から変更できます(画面2)。または、Windows PowerShellで次のコマンドラインを実行します。
1 Set-WinSystemLocale en-us
2 Restart-Computer
Copyright © ITmedia, Inc. All Rights Reserved.