連載
» 2016年06月16日 05時00分 UPDATE

vNextに備えよ! 次期Windows Serverのココに注目(51):Dockerとの相互運用性が向上したWindowsコンテナ[前編] (1/3)

Windows Server 2016 TP5のTP4からの変更点の多くは、Windows Server 2016で初めて搭載されることになる新機能に集中している印象です。それは、「Windowsコンテナ」に関してです。

[山市良,テクニカルライター]
「vNextに備えよ! 次期Windows Serverのココに注目」のインデックス

連載目次

コンテナホストのインストールやコンテナ操作に目新しさはないけれど……

 Windows Server 2016 Technical Preview(TP)5(Nano Serverを含む)を「Windowsコンテナ」のためのコンテナホストとしてセットアップするには、Windows PowerShellで次のコマンドラインを実行します(Windows Serverコンテナのみを利用する場合は「-HyperV」パラメータは省略)。

wget -uri https://aka.ms/tp5/Install-ContainerHost -OutFile .\Install-ContainerHost.ps1
.\Install-ContainerHost.ps1 -HyperV

 「Install-ContainerHost.ps1」を使用したセットアップは、Windows Server 2016 TP4と変わりませんが、処理内容は変更されています。まず、既定はNAT(Network Address Translation:ネットワークアドレス変換)タイプのネットワークを準備しますが、「-Transparent」オプションを指定することで、コンテナホストと同じネットワークにコンテナを接続してDHCP(Dynamic Host Configuration Protocol)でIPアドレスを構成できるようになりました。

 また、コンテナのネットワーク作成やDockerデーモンのインストールに関しても細かい変更があります。さらに、コンテナのベースイメージは、Windows Server 2016 TP5ベースのWindows Server Core(バージョン10.0.14300.1000)およびNano Server(バージョン10.0.14300.1010)のイメージに変更されています。

 Windows Server 2016 TP5のリリース時はクイックスタートの方法として「Install-ContainerHost.ps1」を使用したセットアップが提供されていましたが、2016年5月末からはこれを使用せずにマニュアルでセットアップする方法に手順が変更されています。これは、手順の変更だけではなく、2016年5月末に提供が始まったDockerデーモンの新しいビルドの仕様変更に対応したもののようです。

 Windows Server 2016 TP5リリース時のDockerデーモンのバージョンおよびビルド番号は「Docker version 1.12.0-dev, build 2b97201」、2016年5月末公開のものは「Docker version 1.12.0-dev, build 8e92415」です。

 以前のビルドでは、Dockerデーモンをサービスとして登録するために「NSSM(Non-Sucking Service Manager)」というフリーのツールを利用して、「C:\ProgramData\docker\runDockerDaemon.cmd」を実行する方法が採用されていました。NSSMはNano Serverに対応していないため、Nano ServerではWindowsの「タスクスケジューラ」を利用して「C:\ProgramData\docker\runDockerDaemon.cmd」を実行するようになっていました。

 2016年5月末に公開された新しいビルドでは、Windowsへのサービス登録機能がDockerデーモンのバイナリに組み込まれ、「docker --register-service」でインストールできるように変更されています。この機能はNano Serverでも動作します。

 細かい変更点はありますが、コンテナホストのインストールとコンテナ操作に関しては、基本的にWindows Server 2016 TP4と変わりません。変わった点は、コンテナ作成時の「New-Container」コマンドレットの「-SwitchName」パラメータが、「-NetworkName」パラメータに変更されたこと、そして、コンテナ向けのネットワークスイッチの作成がHyper-Vと共通の「New-VMSwitch」コマンドレットから、コンテナ専用の「New-ContainerNetwork」コマンドレット(または「docker network create」コマンド)に変更されたことくらいでしょうか。

 なお、「Install-ContainerHost.ps1」を使用したインストール手順は本稿執筆時点でも可能ですが、Dockerデーモンおよびクライアントの新しいビルドのバイナリを利用するには、新しい手順でセットアップする必要があります。

 以下の筆者の個人ブログに、新しい手順の具体的なコマンドラインに加え、「Install-ContainerHost.ps1」でセットアップ済みのコンテナホストを新しいビルドのDockerデーモンおよびクライアントに更新する方法をまとめました(画面1)。

画面1 画面1 「Install-ContainerHost.ps1」スクリプトでセットアップしたNano Serverベースのコンテナホストで、Dockerデーモンを2016年5月末公開の新しいビルドに入れ替えているところ
       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

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

メールマガジン登録

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