LoginSignup
29
28

More than 5 years have passed since last update.

Windows Server 2016でWindows Serverコンテナーを使い始める

Last updated at Posted at 2017-08-05

この記事は、「クラウド時代のシステム管理」の記事を転記したものです。
Windows Server 2016からDocker APIに対応した「Windows Serverコンテナー」と、より強固なプロセス分離機能を備えた「Hyper-Vコンテナー」の2つのコンテナ技術を利用可能になりました。今回はこのうちWindows Serverコンテナーについて、使い始めるための手順を解説します。

本記事は、Microsoftのこちらのドキュメントをもとに記述しています。以前は一部コマンドのオプションが間違っていましたが、修正されているため、本記事執筆時点では参照先サイトの手順をそのまま実行可能です。

1. Windows Serverコンテナー機能の有効化

事前にWindows Updateを行い、最新のHotfixを適用します。Windows Server 2016リリース直後(RTM)の状態ではコンテナーは正常に動かないためです。次に、サーバーマネージャーから「管理」>「役割と機能の追加」をクリックして機能の追加ウィザードを開始します。開始後、「コンテナー」項目にチェックをつけてインストールを行います。

install-container

インストールが終わったらOS再起動を行います。

2. Dockerのインストール

Windows Server用のDockerをインストールするためには管理者用Windows PowerShellを起動したうえで2つのステップを踏みます。1つ目はPowerShell GalleryからDockerパッケージを管理するためのプロバイダーモジュールをインストールします。

PS C:\> Install-Module -Name DockerMsftProvider -Repository PSGallery –Force

次に実際にDockerパッケージをインストールします。インストールコマンドを実行するとインストールするパッケージを信頼済みにするかどうか聞かれるので「A」と回答します。

PS C:\> Install-Package -Name docker -ProviderName DockerMsftProvider

実際に一連のコマンドを実行すると以下のような表示になります。

Install Docker on Windows PowerShell

インストール完了後、再度OS再起動を実施します。

3. Dockerコマンドでコンテナを起動してみる

OS再起動が完了したらPowerShellを起動して、Dockerのバージョンを表示し、インストールされていることを確認します。

PS C:\> docker version
Client:
 Version:      17.03.1-ee-3
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   3fcee33
 Built:        Thu Mar 30 19:31:22 2017
 OS/Arch:      windows/amd64

Server:
 Version:      17.03.1-ee-3
 API version:  1.27 (minimum version 1.24)
 Go version:   go1.7.5
 Git commit:   3fcee33
 Built:        Thu Mar 30 19:31:22 2017
 OS/Arch:      windows/amd64
 Experimental: false
PS C:\>

次に、サンプルのイメージ空コンテナを起動します。今回は.NET CoreのキャラクターBOTを表示するだけのものになります。なお、初回起動時はDocker Hubからイメージをダウンロードするため、インターネットにつながっている必要があります。

PS C:\> docker run microsoft/dotnet-samples:dotnetapp-nanoserver

        Dotnet-bot: Welcome to using .NET Core!
    __________________
                      \
                       \
                          ....
                          ....'
                           ....
                        ..........
                    .............'..'..
                 ................'..'.....
               .......'..........'..'..'....
              ........'..........'..'..'.....
             .'....'..'..........'..'.......'.
             .'..................'...   ......
             .  ......'.........         .....
             .                           ......
            ..    .            ..        ......
           ....       .                 .......
           ......  .......          ............
            ................  ......................
            ........................'................
           ......................'..'......    .......
        .........................'..'.....       .......
     ........    ..'.............'..'....      ..........
   ..'..'...      ...............'.......      ..........
  ...'......     ...... ..........  ......         .......
 ...........   .......              ........        ......
.......        '...'.'.              '.'.'.'         ....
.......       .....'..               ..'.....
   ..       ..........               ..'........
          ............               ..............
         .............               '..............
        ...........'..              .'.'............
       ...............              .'.'.............
      .............'..               ..'..'...........
      ...............                 .'..............
       .........                        ..............
        .....


**Environment**
Platform: .NET Core 1.0
OS: Microsoft Windows 10.0.14393

PS C:\>

4. Windows Serverコンテナー利用時の注意点

Windows ServerコンテナーはLinux上でのDockerコンテナと同じコマンドを使ってWindowsカーネルベースのコンテナを作ることができます。なおWindows Serverコンテナーを使う上での注意点が2つあります。

  1. ホストOSとOSカーネルを共有しているため、Linuxカーネルベースのコンテナを実行することはできません。
  2. たまに正常に実行できない場合がありますが、これはWindowsのサービスにある「Docker」と「Docker for Windows Service」のどちらかが起動していない場合に起きます。サービス一覧(services.msc)を開いて上記2つのサービスが実行中かどうか確認してみましょう。

以上がWindows Serverコンテナーを利用開始するまでの手順でした。

29
28
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
28