Dockerは、Docker Enterprise platformでWindows Server 2019 Long Term Servicing Channel (LTSC) と1809 Semi-Annual Channel (SAC) リリースをサポートすることを発表した。Server 2019では以前のSACリリースをLTSCに、ingressルーティング、仮想IPサービス探索、名前付きパイプルーティングなど多くの改善が加えられている。このリリースではLinuxノードを並行して、Server 2019と1809コンテナを混在クラスタで実行できるようになった。
Windows Server 2019にはWindows Server 1709と1803から多くの改善が加えられており、SACリリースはLTSCリリースに入る。これにはDockerのingressルーティングメッシュのサポートが含まれている。Ingressルーティングメッシュは、swarmモードの一部で、シンプルな設定エクスペリエンスのために最適化されたサービス公開のためのアプローチである。これは、コンテナが現在実行されていないホストを含む、公開されたサービスのためのアクセスコンテナ向けシングル「swarm port」を提供する。ルーティングメッシュは、アクティブコンテナ上の利用可能なノード上の公開されたポート着信トラフィックをルーティングしてロードバランシングを簡単にする。
Server 2019はDNSRR (DNS Round Robin)に変わるVIPサービスディスカバリを追加した。VIPサービスディスカバリは、Swarmサービスディスカバリの一部としてDNSクエリされたときにコンテナが1つのIPアドレスを受けることができる。この単一のアドレスは、サービスをサポートするコンテナの1つにネットワーキング層ルートする仮想アドレスである。サービスに紐づけられた単一の仮想IPアドレスが返されるため、コンテナが置き換えられても古いキャッシュレコードがないことが保証される。これは全てのコンテナIPアドレスのリストがランダムな順番で返されるラウンドロビンスタイルのロードバランシングであるDNSRRとは違う。
Server 2019は名前付きパイプを介したDocker APIの実行もサポートしている。以前のServer 2016では、Docker APIへのアクセスはTCP/IPを経由する必要があった。 名前付きパイプ のサポートにより、同一マシン上のDocker APIにアクセスするDocker CLIをデフォルトエンドポイントにできる名前付きパイプをボリュームとしてマウントできる。
Server 2019コンテナのベースイメージサイズも改善され、SEAL SystemsのシニアソフトウェアエンジニアであるStefan Scherer氏が、Server 2016と2019のコンテナサイズを比較して、2019のイメージサイズは同等の2016イメージの⅓から¼であることがわかった。
(クレジット: Stefan Scherer氏)
MicrosoftとDockerは、Windowsをコンテナ化するために2014年から提携している。コンテナのサポートはWindows Server 2016でDocker Enterprise Engineが追加されたところから始まった。2017年、彼らはSwarmを使った同じDocker Enterprise環境でWindows ServerとLinuxクラスタの混在の管理のサポートを追加した。2018年、SAC Windows 1709と1803リリースのサポートが追加された。
2019の計画には、同一クラスタで、SwarmとKubernetesオーケストレーターの相互互換性がサポートされる。Server 2019はKubernetesワークロードの実行するための拡張サポートが含まれている。DockerとMicrosoftは、Docker Enterpriseを使ってKubernetesでWindowsワークロードをサポートするようになった。