「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)です。
Docker Enterprise 3.0(Docker Engine 19.03.0)がリリース
企業向けDockerエンジンの最新バージョン「Docker Enterprise 3.0」がリリースされました(画面1)。Docker Enterprise 3.0のリリースのアナウンスとリリースノートは、以下のURLで確認することができます。
- Announcing Docker Enterprise 3.0 General Availability[英語](Docker blog)
- Docker Engine release notes - 19.03.0(2019-07-22)[英語](Docker Engine release notes)
画面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)以降に変更されました。
- Linux Containers on Windows[英語](Microsoft Docs)
現行バージョンの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コンテナをサポートするためのもう一つの方法が利用可能になるわけです。
- Windows:Experimental:ContainerD runtime[英語](GitHub)
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)。
- Linux containers on Windows built with LinuxKit[英語](GitHub)
画面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で評価可能だと思います。
(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のインストールが失敗する問題の修正が含まれます。
- Docker Engine release notes - 19.03.1(2019-07-25)[英語](Docker Engine release notes)
2019年8月1日追記
「Docker Desktop for Windows」にもDocker Engine 19.03.1搭載の新バージョン2.1.0.0がリリースされました。このバージョンから、Windows 10 バージョン1607はサポートされなくなります。また、LCOWのExperimental機能を利用するには、Windows 10 バージョン1809以降が必要になります。
- Docker Desktop Community 2.1.0.0[英語](Docker Documentation)
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2019-2020)SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SQL Serverマイグレーションの歩き方[前編]――マイグレーションの作業ステップ
2019年7月のSQL Server 2008/2008 R2の延長サポート終了に伴い、EOS対応としてアップグレードやマイグレーションを準備/実施している方も多いでしょう。「前編」となる今回は、SQL Serverのマイグレーションに必要な作業ステップについて解説します。 - サポートが終了するサーバOSを使い続けるリスクを考える
Windows Server 2008/2008 R2のサポート終了日まで後2年を切った。今後、さまざまなところでサポート終了に関するトピックを目にする機会が増えるだろう。そもそも、サーバOSのサポートが終了する影響とは、どのようなものなのだろうか。本連載では、Windows Server 2008/2008 R2を新しいサーバOSへ切り替える必要性やメリットなどを解説する。 - どうするSQL Server 2008のサポート期限? そうだ、クラウドへいこう!
2019年7月9日のSQL Server 2008/2008 R2の製品サポートの終了まで、残すところあと1年と少し。2018年5月、オンプレミスまたはクラウドの最新SQL Server環境への移行を支援するツールの最新版と大規模データベース移行に適した移行サービスの正式版が利用可能になりました。 - Azureで利用可能なPaaSのSQL Serverの特徴を学ぼう[前編]
本稿では、Microsoft Azureで利用可能なPaaSとして提供されている「SQL Server」の特徴やメリットを紹介します。最新機能ではなく、これからAzureのSQL Serverを利用しようと考えている方に、全体的な特徴をつかんでもらえる内容です。前編では、Azureで提供されているPaaSのSQL Serverの種類と特徴を紹介します。