きときと

日々のあれこれ ソフトウェアエンジニア

Windows Server 2016にDockerをインストールしてWindows Containersを動かしてみる

概要

公式ドキュメントや参考サイトを見ながら進めていきます。
docs.microsoft.com

Dockerインストール

まずDockerをインストールするために、プロバイダーをインストールします。

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

インストール済みパッケージプロバイダの一覧に、先ほどインストールしたDockerMsftProviderが表示されています。

Get-PackageProvider -ListAvailable
Name                     Version          DynamicOptions
----                     -------          --------------
Chocolatey               2.8.5.130        SkipDependencies, ContinueOnFailure, ExcludeVersion, ForceX86, PackageSave...
DockerMsftProvider       1.0.0.1          Update
msi                      3.0.0.0          AdditionalArguments
msu                      3.0.0.0
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag...
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, ...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent

Dockerをインストール

Install-Package -Name docker -ProviderName DockerMsftProvider

インストール完了後、再起動をかけます。

Restart-Computer -Force

再起動後、windows serviceを確認するとDockerが表示されています。

f:id:EF-0512:20170906020821p:plain

Hello World

公式Dockerレジストリからイメージ取得とコンテナの展開。

docker run microsoft/dotnet-samples:dotnetapp-nanoserver

f:id:EF-0512:20170906154527p:plain

チュートリアルの通り簡単に実行できました。

IISイメージを展開して、IISデフォルトページを表示する

イメージをpullして実行。

docker pull microsoft/iis

イメージは4GBほどあり、なかなかに時間がかかりました。

docker run -d -p 80:80 microsoft/iis

ホストの80番ポートをコンテナに割り当てアクセス。

f:id:EF-0512:20170906161459p:plain
無事デフォルトページが表示されました。

まとめ

次はASP.NETのアプリをコンテナ上で実行してみようと思います。

参考

Windows Server 2016 の Windows Containers と Docker を使って IIS と ASP.NET を動かしてみた - しばやん雑記
Windows 版 Docker クライアントのインストールと Linux上の Docker デーモンへの接続 - Qiita
Windows 10 のパッケージ管理エコシステムについて整理する。 - Qiita