Windows

WindowsServer2016へDockerEEをインストールしてWindowsコンテナを試してみる

Windows

1. はじめに

WindowsServerのコンテナを試してみたいと思って、Windows10 Proの20H2の環境で試してみたのですが、 「ERROR: image operating system “windows” cannot be used on this platform」というエラーが表示されました・・・ https://hub.docker.com/_/microsoft-windows-servercore

エラーの原因を調べたところ、どうもWindowsベースのコンテナはWindowsServer2016上でしか動かないという事らしいです。

そこで、WindowsServer2-16の評価版を使ってHyper-V上に仮想マシンとして作成してからWindowsコンテナを立ててみようと思います。

2. WindowsServer2016評価版をHyper-V上に構築

こちらの手順でHyper-V上に仮想マシンとしてWindowsServer2016評価版を構築しました。

 https://syachiku.net/hyper-v-windowsserver2016-eval/

3. DockerEEをインストール

WindowsServerにはDockerのEnterprise Editionをインストールする必要があります。 インストーラーをダウンロードするのではなくPowerShell経由でインストールします。

基本的には以前に書いた以下の記事の通りにすすめますが、今回はLinuxコンテナは利用しないのでHyper-Vのインストールは不要です。 

Windows Server 2016 評価版へDocker For Windowsをインストール
私はメインPCのMacbook ProにDockerをインストールして利用しているのですが、Mac内で稼働させているコンテナ数が多くなってきて少し重くなってきました。そこで、以前に使っていた...
// はじめに利用するSSLのバージョンを変更する
> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

// MsftProviderをインストール
> Install-Module DockerMsftProvider -Force

// Dockerをインストール
> Install-Package Docker -ProviderName DockerMsftProvider -Force

// 一度再起動
> Restart-Computer

// dockerを起動
> Start-Service docker

// バージョン確認
> docker version
Client: Mirantis Container Runtime
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        b3766ff
 Built:             06/29/2021 17:14:16
 OS/Arch:           windows/amd64
 Context:           default
 Experimental:      true

Server: Mirantis Container Runtime
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.24)
  Go version:       go1.13.15
  Git commit:       a3dc69e6b9
  Built:            06/29/2021 17:12:49
  OS/Arch:          windows/amd64
  Experimental:     false

4. Docker Composeをインストール(Windowsコンテナには利用不可でした)

※こちらインストールしてはみたもののdocker-composeではLinuxコンテナの操作になるようで以下のエラーが表示されて利用することができませんでした。参考までに記載しておきます。

 PS C:\Users\Administrator\Desktop\docker> docker-compose up -d 
Creating network "docker_default" with the default driver
ERROR: hns failed with error : パラメーターが間違っています。

以下のサイトにある手順にしたがってDocker Composeをインストールします。

Install
Learn how to install Docker Compose. Compose is available natively on Docker Desktop, as a Docker Engine plugin, and as a standalone tool.
// はじめに利用するSSLのバージョンを変更する
> [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

// DockerComposeのインストール
> Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe

// 確認
> docker-compose --version
docker-compose version 1.29.2, build 5becea4c

5. WindowServercoreコンテナイメージの取得

Windows Servercoreのコンテナイメージを取得してから起動します。ServerCoreのイメージ12GBとかなりサイズが大きくて時間がかかります。

> docker run mcr.microsoft.com/windows/servercore:1607-amd64

> docker images
REPOSITORY                             TAG          IMAGE ID       CREATED       SIZE
mcr.microsoft.com/windows/servercore   1607-amd64   c42b753c0b5c   11 days ago   12GB

Dockerのオススメ勉強方法

私がオススメするDocker初心者向けの最初に購入すべき書籍は「さわって学ぶクラウドインフラ docker基礎からのコンテナ構築です。

さわって学ぶクラウドインフラ docker基礎からのコンテナ構築

本書ではDockerの基本的な概念などの座学ももちろんありますが、実際に、Dockerのインストール方法やWebサーバーをコンテナで構築するハンズオンを通じて学習することができるため、特に初心者の方はは分かりやすい内容となっています。

今回は以上となります。

コメント