検索
連載

「Docker Enterprise 3.0」リリース、WindowsベースならWindows Server 2019がお勧めMicrosoft Azure最新機能フォローアップ(86)

2019年7月22日(米国時間)、企業向けDockerエンジンの最新バージョン「Docker Enterprise 3.0」がリリースされました。Docker Enterpriseは主要なLinuxディストリビューションおよび「Windows Server 2016」以降でサポートされるコンテナホストの最新のエンジン(サービスおよびAPI)です。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

Docker Enterprise 3.0(Docker Engine 19.03.0)がリリース

 企業向けDockerエンジンの最新バージョン「Docker Enterprise 3.0」がリリースされました(画面1)。Docker Enterprise 3.0のリリースのアナウンスとリリースノートは、以下のURLで確認することができます。

画面1
画面1 Docker Enterprise 2.1(Docker Engine 18.09.8)からDocker Enterprise 3.0(Docker Engine 19.03.0)へのアップデート

 Dockerのエンジンおよび名称は、2018年末に大きな変更がありました。2018年12月のDocker Engine 18.09のリリースから「Docker Enterprise Edition(Docker EE)」と、コミュニティー向け「Docker Community Edition(Docker CE)」のエンジンがそろえられ、名称が「Docker Enterprise 2.1」(旧Docker EE)と「Docker Desktop」(旧Docker CE)に変更されました。

 Docker Desktop for Windowsの安定版(Stable)の最新バージョンは2019年2月リリースの2.0.0.3(Docker Engine 18.09.2)です。

 Microsoft Azureには「Web App for Containers」「Azure Container Instances(ACI)」「Azure Kubernetes Service(AKS)」といったDocker技術に対応したサービスが用意されています。AzureのIaaS上に、LinuxやWindowsベースのコンテナホストやクラスタを仮想マシンとして展開し、実行することも可能です。

 現在はLinuxベースのコンテナのための利用が中心ですが、本連載第76回で紹介したように、Windows Server 2016や「Windows Server 2019」、Windowsコンテナへの対応が進んでおり、プレビュー機能として利用可能になっています。

 今回のDocker Enterprise 3.0のリリースでは、今後、オンプレミスやAzureでコンテナ技術を利用しようと検討している方にとっては重要な変更点があります。

Windows Server 2016は非推奨に、次期バージョンではサポート終了

 Windows Serverにおけるコンテナ技術の実装は、Windows Server 2016からになります。Windows Serverはサーバの機能である「Containers」を提供し、Docker Enterprise(旧Docker EE)がエンジンやAPIを提供します。Docker Enterprise 3.0では、コンテナホストとしてのWindows Server 2016の使用が“非推奨”になりました。

 Docker Enterprise 3.0はWindows Server 2016でも動作しますが、overlay(オーバレイ)ネットワークが使用できないという制限があります。そして、次のDocker Enterprise 3.1において、Windows Server 2016はコンテナホストとしてサポートされなくなる予定です。

 そのため、既にWindows Server 2016でコンテナホストを導入している場合は、Windows Server 2019へのアップグレードを検討してください。Windows Server 2016のコンテナホストでは、事実上、Windows Server 2016のベースOSイメージしか実行できないという制約もあります(Windows Server 2016バージョンのNano ServerのベースOSイメージは既にサポートが終了しており、イメージは更新されていません)。

 これから導入する場合は、長期サービスチャネル(LTSC)の最新バージョンであるWindows Server 2019での構築を強くお勧めします。

LCOW(Experimental)の要件がRS5(バージョン1809)以降に変更

 Docker Enterpriseでは、2017年9月から「LCOW(Linux Containers on Windows)」のサポートが「Experimental」(実験的)機能として利用可能です。これまで、LCOWを評価するためのホスト要件は、Windows Server, version 1709およびWindows 10 バージョン1709(通称RS3)以降でしたが、Docker Enterprise 3.0のDocker Engine 19.03.0からは、Windows Server 2019およびWindows 10 バージョン1809(通称、RS5)以降に変更されました。

 現行バージョンのDocker Desktop for Windows(Docker Engine 18.09.x)では、Experimental機能を有効化することで簡単にLCOWを評価できるようになっていますが、Docker Engine 19.03.0を搭載したバージョンがリリースされた場合、Windows 10 バージョン1809以降でないとLCOWを評価できなくなると思います。

 また、Docker Enterprise 3.0では、新たなExperimental機能として「ContainerD Runtime」が追加されています。これは、近い将来Windows 10向けに提供される予定の本物のLinuxカーネルがWindows上で動作する「Windows Subsystem for Linux 2(WSL2)」に対応したものです。ContainerD Runtimeは、Linuxコンテナの実行にWSL2を利用できるようにします。Hyper-Vコンテナの技術に基づくLCOWに加えて、Linuxコンテナをサポートするためのもう一つの方法が利用可能になるわけです。

Docker Enterprise 3.0でも評価できるLCOW(Experimental)

 手軽にLCOWを評価できるDocker Desktop for Windowsとは異なり、Windows ServerでLCOWを評価するのは、以下のドキュメントにあるように少し面倒です。しかしながら、このドキュメントの内容は古く、2018年11月リリースの「v4.14.35-v0.3.9」からはDocker Enterprise 2.1以降の環境でも評価できるようになっているようです(画面2)。

画面2
画面2 Docker Enterprise 3.0(Docker Engine 19.03.0)でWindows Serverコンテナ(Nano Server)とUbuntuコンテナを同時に実行している様子

 Docker Enterprise 3.0を導入済みのWindows Server 2019の場合は、Windows PowerShellで次の手順でLinuxKitを導入し、Experimental機能を有効化します(画面3)。なお、Windows Server, version 1709(既にサポートは終了)やversion 1803の場合は、Docker Enterprise 2.1で評価可能だと思います。

画面3
画面3 Docker Enterprise 3.0を導入済みであれば、この画面にある一連のコマンドラインを実行することで、Experimental機能であるLCOWを評価できるようになる

 (1)LinuxKitをダウンロードします。URIの部分は、リリースページ(https://github.com/linuxkit/lcow/releases)により新しいバージョンがあればそれに置き換えてください。

Invoke-WebRequest -uri https://github.com/linuxkit/lcow/releases/download/v4.14.35-v0.3.9/release.zip -outfile .\release.zip

 (2)LinuxKitの古いバージョンがインストールされている場合に限り、以下のコマンドラインを実行して古いバージョンを削除します。

Remove-Item "$env:ProgramFiles\Linux Containers" -Force -Recurse

 (3)ダウンロードしたZIPファイルを「C:\Program Files\Linux Containers」に展開し、ZIPファイルを削除します。

Expand-Archive .\release.zip -DestinationPath "$Env:ProgramFiles\Linux Containers\."
Remove-Item .\release.zip

 (4)「メモ帳」で「C:\ProgramData\Docker\config\daemon.json」を開き、既存の設定に「"experimental": true」を追記して上書き保存します。「daemon.json」が存在しない場合は、新規に作成して「{ "experimental":true }」と書き込み、保存します。

notepad "C:\ProgramData\Docker\config\daemon.json"

 (5)Dockerのサービスを再起動します。

Stop-Service docker
Start-Service docker

最新情報

 Docker Engine 19.03.1がリリースされました。主にLinuxプラットフォーム向けの不具合の修正です。これには、Azure上のRed Hat Enterprise Linux(RHEL)へのDocker Enterprise 3.0のインストールが失敗する問題の修正が含まれます。


2019年8月1日追記

 「Docker Desktop for Windows」にもDocker Engine 19.03.1搭載の新バージョン2.1.0.0がリリースされました。このバージョンから、Windows 10 バージョン1607はサポートされなくなります。また、LCOWのExperimental機能を利用するには、Windows 10 バージョン1809以降が必要になります。


筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る