Windows ServerのDockerサポートとは?――あなたの知らないコンテナーの世界(その1)vNextに備えよ! 次期Windows Serverのココに注目(26)(2/4 ページ)

» 2015年09月11日 05時00分 公開
[山市良テクニカルライター]

「ContainerSetup.ps1」スクリプトは何をしているのか?

 セットアップ用スクリプトは、最初に「Containers」機能のインストールの有無をチェックし、インストールされていなければ「Add-WindowsFeature」コマンドレットを実行してインストールし、サーバーを再起動します。再起動後は、コンテナーホストとしてコンテナーにネットワーク機能を提供するための仮想スイッチの作成とNAT(Network Address Translation)の構成(New-VmSwitch、New-NetNat)が行われます(画面3)。

画面3 画面3 サーバーの機能「Containers」をインストールして再起動された後、仮想スイッチとNATの構成、ベースOSイメージのダウンロードとインストール、Dockerバイナリのダウンロードとインストールが行われる

 その後、GitHubからWindows ServerコンテナーのベースOSイメージをダウンロードして展開(wgetおよびInstall-ContainerOsImage)します。このとき、作業フォルダーにはコンテナーのベースOSイメージを含む約3GBのWIM形式(Windows Imaging File Format)のファイル(後で削除しても可)がダウンロードされ、「%PROGRAMDATA%\Microsoft\Windows\Images」フォルダーの下にフォルダーツリーとファイル(Windows ServerコンテナーのOSファイルとレジストリファイル)が展開されます。展開後のサイズは約9GBでした。

 最後に、Windows版のDockerバイナリ「docker.exe」がGitHubからダウンロードされ、「C:\Windows\System32」フォルダーにインストールされます。また、このDockerバイナリは「Docker Daemon」という名前でサービスとして登録されます。

 なお、WebブラウザーでURL「http://aka.ms/setupcontainers」を直接開いて「ContainerSetup.ps1」の内容を参照することで、これらの一連のセットアップの操作状況を追いかけることができます。

 「ContainerSetup.ps1」をパラメーターなしで実行した場合は、スクリプトの実行中に約3GBのベースOSイメージのWIMファイルがダウンロードされます。ネットワーク帯域にも依存しますが、これにはしばらく時間がかかります。ベースOSイメージのWIMファイルを別にダウンロード済みの場合は、以下のように「-WimPath」パラメーターを指定することで、ローカルのダウンロード済みイメージを使用させることができるようです(筆者は試していません)。

.\ContainerSetup.ps1 -WimPath "<ダウンロード済みWIMイメージのパス>"


 以下のWindows Server 2016 TP3のダウンロードサイトで提供されている「Windows Server 2016 Technical Preview 3 Core with Windows Server Containers」というダウンロード項目が、ベースOSイメージを含むWIMファイル(CBaseOs_th2_release_10514.0.150808-1529_amd64fre_ServerDatacenterCore_en-us.wim)になります。

 リリース直後はISOイメージとWIMファイルを含むZIPファイルとして提供されていました。現在は、ベースOSイメージのWIMファイルを単体でダウンロードできます。「Windows Server 2016 Technical Preview 3 Core with Windows Server Containers」という表現はその名残でしょう。

【重要】システムロケールを「英語(米国)」に変更!

 コンテナーホストとしてのセットアップが完了したら、システムロケールを「英語(米国)」(en-us)に変更しておきます。Windows Server 2016 TP3ではシステムロケールが「日本語(日本)」(ja-jp)の場合、コンテナー内での操作に失敗する(Install/Add-WindowsFeatureやDISMコマンドの失敗を確認)ことがあるからです。現在のシステムロケールは、「Get-WinSystemLocale」コマンドレットで確認することができます。システムロケールを「英語(米国)」(en-us)に変更するには、次のコマンドラインを実行してサーバーを再起動します。

システムロケールを「英語(米国)」に変更する

Set-WinSystemLocale en-us; Restart-Computer -Force


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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