WindowsコンテナーをDockerから操作するには?――あなたの知らないコンテナーの世界(その4):vNextに備えよ! 次期Windows Serverのココに注目(29)(3/3 ページ)
前回までは、Windows Server 2016 Technical Preview 3(TP3)の「Windows Serverコンテナー」を、PowerShellコマンドレットによるネイティブな方法で操作してきました。今回は、Windows Server 2016 TP3における「Docker」のサポートを説明します。
「-p」パラメーターによるアプリケーションのネットワーク公開
コンテナーのネットワーク接続は、NAT(ネットワークアドレス変換)タイプの仮想スイッチ「Virtual Switch」と、NATの構成「ContainerNAT」により実現されます。これは、PowerShellでコンテナーを作成する場合と同様です。PowerShellの場合は、「New-Container」コマンドレットでコンテナーを作成する際に「-SwitchName」パラメーターに仮想スイッチを指定しましたが、Dockerコマンドでは何も指定しなくても「docker run」コマンドでコンテナーを作成、実行すると、仮想スイッチに接続されます。
NATの背後に配置されるコンテナーのネットワークサービスに対して、コンテナーホストの外部からの接続を可能にするには、PowerShellでは本連載の第28回「IISコンテナーの作成で理解するコンテナーのネットワーク機能」で説明したように、コンテナーホスト側で「Windowsファイアウォールの規則の作成(New-NetFirewallRuleコマンドレットやnetshコマンド)」と「ポートフォワーディングの設定(Add-NetNatStaticMappingコマンドレット)」が必要になります。
対して、Dockerコマンドでは「docker run」コマンドに「-p <コンテナーホストのポート番号>:<コンテナー側のポート番号>」パラメーターを指定して実行することで、ポートフォワーディングの設定が自動構成されます(画面6)。追加で構成する必要があるのは、コンテナーホスト側でのWindowsファイアウォールの規則の作成だけです。
画面6 「docker run」コマンドに「-p」パラメーターを指定することで、NATのポートフォワーディングが自動構成される。Windowsファイアウォールを構成すれば、外部からコンテナーに接続可能になる
Docker HubにはWindows Serverコンテナーベースのイメージも
Docker Hubを検索すると、Windows Server TP3用のレジストリでWindows Serverコンテナーベースのイメージが利用可能になっています。IIS(microsoft/iis)やASP.NET(microsoft/dnx-clr)、Ruby(microsoft/ruby)、Python(microsoft/phython)などです。これらのイメージは、「docker pull」コマンドでコンテナーホストにダウンロードすることができます(画面7)。
例えば、IISのイメージ「microsoft/iis」をダウンロードし、「docker run」コマンドでコンテナーを作成して実行すると、IISを素早く展開できます(画面8)。現状、「docker push」コマンドは機能しませんが、Dockerエコシステムと統合されたDockerらしい使い方を示す例です。これは、PowerShellベースの管理にはない機能です(Export-ContainerImage/Import-ContainerImageコマンドレットによる、ファイルベースのエクスポート/インポートは可能です)。
リモートのDockerクライアントから接続するには
ここまで、DockerコマンドによるWindows Serverコンテナーのローカル管理について、Dockerと同じように操作できることを説明してきましたが、Dockerはリモート管理が可能です。ただし、LinuxベースのDockerと同様、Dockerのリモート管理を有効にするには「TLSの構成」が必要になります。
- Protect the Docker daemon socket[英語](Docker)
Windows Server 2016 TP3のDocker Daemonは、既定で「TLSなしのローカル接続(ローカルのTCPポート2375に対する接続)」のみが有効になっています。リモート接続(TCPポート2376)に対応させるためには、「openssl」コマンドを使用してTLS接続用の証明書を作成し、「C:¥ProgramData¥docker¥certs.d」フォルダーに配置する必要があります。TLS接続用の証明書の具体的な作成手順については、筆者の個人のブログにまとめてありますので参考にしてください。
- Windows Server 2016 TP3 > Windows 版 Docker でリモート接続 (TLS) を有効化する(山市良のえぬなんとかわーるど)
次の画面9は、リモートのWindowsおよびLinux(CoreOS)のDockerクライアントから、Windows Server 2016 Technical Preview 3のWindows Serverコンテナーを操作しているところになります。
- 「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その6)
- 「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その5)
- 「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その4)
- 「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その3)
- 「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その2)
- 「パスワードのない世界」を実現する「Windows Hello for Business」のオンプレ展開をリアルレポート(その1)
- ついに完成、Windows Server 2016 評価版をインストールしてみた
- Windows Server 2016の「サーバー管理ツール」に追加された4つの新機能
- 小規模ビジネス専用エディション、Windows Server 2016 Essentialsの機能と役割
- 管理者権限をコントロールする2つのアプローチ――必要最低限の管理(JEA)と特権アクセス管理(PAM)
- Hyper-Vホストクラスタの新機能(2)──仮想マシンの開始順序
- 速報! Windows Server 2016の正式リリースは2016年9月末に
- Hyper-Vホストクラスタの新機能──仮想マシンのノードフェアネス
- Dockerとの相互運用性が向上したWindowsコンテナ[後編]
- Dockerとの相互運用性が向上したWindowsコンテナ[前編]
- いつでも、どこからでも使える、Windows Server 2016向けリモート管理ツール「サーバー管理ツール」
- Windows Server 2016 TP5の「サーバーの役割と機能」、TP4からの変更点まとめ
- Windows Server 2016 Technical Preview 5の評価方法と注意点
- Hyper-V上のLinux仮想マシンで新たにサポートされる機能
- 実録:Windows ServerコンテナでSQL Serverを動かしてみた
- Windows Server 2016で大きく変わるライセンスモデル
- Windows 10の「ワークプレース参加」はどうなる?[後編]
- Windows 10の「ワークプレース参加」はどうなる?[前編]
- 意外と賢くなったWindows Server 2016のWindows Defender
- パブリッククラウドでDaaSを可能にするWindows Server 2016の新機能
- 実運用への道に近づいた、新しい「Nano Server」[後編]
- 実運用への道に近づいた、新しい「Nano Server」[前編]
- 明らかになった「Hyper-Vコンテナー」の正体(2)――コンテナーホストのセットアップ方法
- 明らかになった「Hyper-Vコンテナー」の正体(1)――その仕組みと管理方法
- ついに日本語版が登場、Windows Server 2016テクニカルプレビューこれまでのまとめ
- 仮想マシンのための「仮想TPM」――仮想化ベースのセキュリティ(その2)
- 物理マシンとユーザーのための「デバイスガード」と「資格情報ガード」――仮想化ベースのセキュリティ(その1)
- “Hyper-Vの中のHyper-V”で仮想マシンを動かす
- ADドメインはもう不要? ワークグループでクラスター作成が可能に――フェイルオーバークラスターの新機能(その3)
- 可用性をさらに高めるクォーラム監視オプション「クラウド監視」――フェイルオーバークラスターの新機能(その2)
- 短時間のノード障害に耐える仮想マシン――フェイルオーバークラスターの新機能(その1)
- WindowsコンテナーをDockerから操作するには?――あなたの知らないコンテナーの世界(その4)
- IISコンテナーの作成で理解するコンテナーのネットワーク機能――あなたの知らないコンテナーの世界(その3)
- 所要時間は1分未満! 今すぐできるWindows Serverコンテナーの作り方――あなたの知らないコンテナーの世界(その2)
- Windows ServerのDockerサポートとは?――あなたの知らないコンテナーの世界(その1)
- 注目のDockerサポートは? Nano Serverは?――Windows Server 2016 Technical Preview 3登場! 新機能ピックアップ
- 「Webアプリケーションプロキシ」はマルチデバイス環境におけるリモートアクセスの“要”
- クラウド時代のセキュリティ担保にはActive Directoryフェデレーションサービスが必須となる?
- 4ステップで理解する「ストレージレプリカ」のセットアップと構成方法
- 低コストでデータの災害復旧対策を実現する新たなSDS「ストレージレプリカ」とは
- 記憶域スペースの新機能「記憶域スペースダイレクト」を理解する(後編)
- 記憶域スペースの新機能「記憶域スペースダイレクト」を理解する(前編)
- Hyper-Vホストから仮想マシンゲストの操作を可能にするPowerShell Directとは
- Windows Server 2016世代のクラウド基盤の守護者、Host Guardian Serviceとは
- 注目のNano Server、その謎に迫る――コンテナー技術との関係はいかに?
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 特集:Docker運用管理製品/サービス大全
数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。 - Microsoft Azureで、コンテナー、IoT、セキュリティに関する重要機能を一挙発表
米マイクロソフトは2015年9月29日(米国時間)、ワシントン州レッドモンドで、同社のクラウドサービス「Microsoft Azure」に関するイベントAzureConを開催、コンテナー、IoT、セキュリティ、GPU対応仮想インスタンス、新リージョンなどを発表した。 - Dockerが新機能・サービスを続々発表、主要クラウドプレーヤーとの距離も緊密に
Dockerがイメージ管理や分散アプリケーション管理自動化を推進する機能を発表。アルファ版やプレビュー版だが、既に複数のクラウドサービスプロバイダーが対応を表明している。 - “Windows 10へのアップグレード:失敗”はエラーではなかった――アップグレードインストールの簡単まとめ
“Windows 10 Proにアップグレード:失敗”エラーが記録されていた筆者のノートPCに、ようやく無償アップグレードの通知が来ました。このノートPCのアップグレードとアップグレード後のちょっとしたトラブルをリポートします。 - トラブルに遭遇したらどうすればいい? ――Windows 10のアップグレードで知っておくべき対処法
2015年7月29日、Windows 10が正式にリリースされ、無料アップグレードを予約したWindows 7/8.1 PCへの配布が始まりました。今回は、Windows 10へのアップグレード前、そしてアップグレード後に知っておくべきことをまとめました。 - 「Windows 10を入手する」アプリは表示されましたか――Windows 10の無料アップグレード予約が開始
Windows 10が「2015年7月29日」にリリースされることが正式発表されました。この発表に合わせ、無料アップグレード対象のPCでは「Windows 10を入手する」アプリによる無償アップグレードの案内と予約が始まりました。