Container Host Deployment - Windows Server (Last Updated: 10/14/2016)
[URL] https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/deployment
Container host deployment - Nano Server (Last Updated: 10/14/2016)
[URL] https://msdn.microsoft.com/en-us/virtualization/windowscontainers/deployment/deployment_nano
旧手順はコンテナーの機能と Hyper-V の役割 (Hyper-V コンテナーを利用する場合のみ) を有効化して、商用 Docker バイナリを Invoke-WebRequest で持ってきて、C:\Program Files\docker に展開し、システム環境変数 Path に追加して、Docker デーモンをサービス登録する (dockerd --register-service) という手順でした。新しい手順は、Windows Server 2016 と Nano Server 共通で、PSGallery 提供の DockerMsftProvider プロバイダーと docker パッケージを使って簡単にできるようになっています。
PS C:\> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
PS C:\> Install-Package -Name docker -ProviderName DockerMsftProvider
PS C:\> Restart-Computer -Force
PS C:\> docker pull microsoft/windowsservercore
PS C:\> docker pull microsoft/nanoserver
Install-Package コマンドは「・・・からソフトウェアをアンインストールしますか?」と聞いてきますが、Y で「インストール」です。英語版だとちゃんと「Are you sure you want to install software from ...」と出ますので、翻訳ミス。
Hyper-V コンテナーをサポートする場合は、Hyper-V の役割を自分でインストールする必要がありますが、コンテナーの機能については Install-Package -Name docker ... がやってくれます。ただし、Nano Server の場合は自分でインストールする必要があるかも。
以前の手順で構築済みの場合、どうすればよいのか案内が無いのがちょっと不親切。新しく構築し直したほうがいいかもしれません。
Docker のバージョンは 1.12.2-cs2-ws-beta-rc1 から 1.12.2-cs2-ws-beta になってました。
C:\> docker version
Client:
Version: 1.12.2-cs2-ws-beta
API version: 1.25
Go version: go1.7.1
Git commit: 050b611
Built: Tue Oct 11 02:35:40 2016
OS/Arch: windows/amd64
Server:
Version: 1.12.2-cs2-ws-beta
API version: 1.25
Go version: go1.7.1
Git commit: 050b611
Built: Tue Oct 11 02:35:40 2016
OS/Arch: windows/amd64
Windows コンテナーのイメージもサイズがちょっと大きくなっているので、新しいバージョンのものに差し替えられている模様。
C:\> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
microsoft/nanoserver latest 93a9c37b36d0 3 weeks ago 8.68 MB
microsoft/nanoserver latest e14bc0ecea12 3 weeks ago 810 MB
docker inspect コマンドでベース OS イメージの情報を調べてみると... 10.0.14393.321 でした。
Windows 10 上 のコンテナーに関しては、今日時点では変更はなく、従来の方法のまま(※Windows 10 用の Docker 1.13.0-dev が新しいベース OS イメージに対応できてないっぽく、動かなくなったかも。動かすには CS Docker 1.12.2 が必要だとさ → https://social.msdn.microsoft.com/Forums/en-US/54e36123-ff07-4f6a-8b61-e6ce6d358ef7/using-the-latest-base-os-images-and-updating-docker?forum=windowscontainers、対処方法は→こちら)。
Windows Containers on Windows 10 (Last Updated: 10/10/2016)
[URL] https://msdn.microsoft.com/en-us/virtualization/windowscontainers/quick_start/quick_start_windows_10
それと、SQL Server 2016 Express を含むコンテナー イメージ (windowsservercore ベース) も Docker Hub の microsoft リポジトリで利用可能になっています。
SQL Server 2016 Express Edition in Windows containers
[URL] https://blogs.technet.microsoft.com/dataplatforminsider/2016/10/13/sql-server-2016-express-edition-in-windows-containers/
こんな感じでできました。
インスタンス名が SQLEXPRESS であること、ポートマッピングで 1433 以外にした場合は、コンテナーホスト\SQLEXPRESS, ポート番号 で接続すること。コンテナー ホスト上の SQL Management Studio から接続する場合は、NAT サブネットの IP アドレスの 1433 に接続すること。このあたりに気を付けて。コンテナーに割り当てられた NAT サブネットの IP アドレスを確認する方法はこちら(→メモ: Windows コンテナーの種類を Docker コマンドで確認するには)。SQLServer Management Studio はこちら(→ https://msdn.microsoft.com/ja-jp/library/mt238290.aspx)。
追記)
Nano Server の場合、やはり Install-Package -Name docker ...はコンテナー (Containers) のパッケージをインストールしてくれませんでした。後から、Nano Serverにコンテナーパッケージを追加した場合は、WindowsUpdate を再実行しましょう。KB3176936 がインストールされていないと、docker run で固まる (Stop-Service dockerするしか逃げ道なし) かもです。
確認、確認
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。