Dockerは、Docker Engine 20.10の次のリリースを発表した。コマンドラインインターフェイス(CLI)の改善とデュアルロギングのサポートと共にcgroups v2のサポートを追加した。これは、2019年7月22日にリリースされたDocker Engine 19.03に続く最初のメジャーリリースである。
DockerIncのプリンシパルプロダクトマネージャーであるBenjamin De St Paer-Gotch氏は、ブログ投稿でこのリリースの詳細を述べた。Docker Engineは、サーバdockerd
、プログラムで使用されるインターフェースを指定するAPI、CLIクライアント、docker
を備えたクライアントサーバアプリケーションで構成される。
基礎のLinuxカーネル上に構築されたDocker Engineは、実行中のプロセスとそれに関連付けられたファイルを分離するためにcgroups v2
を取り入れた。Dockerは、cgroups
を持つnamespaces
を使用して、前述の分離を実現する。この機能を追加することで、Dockerは完全にサポートされている機能に「ルートレス」で移行できるようになった。Rootlessモードでは、ルートシステム権限なしでDocker環境全体を実行できる。
初めてデュアルロギングをサポートするようになり、さまざまなサードパーティのロギングドライバーがdocker logs
を読み取ることができるようになった。これにより、シームレスなアプローチで自動化されたコンテナログを収集できる。CentOS8のサポートを継続し、20.10リリースではUbuntu 20.10とFedora 33のサポートが追加された。
CLIツールの有効性に焦点を当てたDocker Engine 20.10には、次のような新しいオプションがある。
docker push
はdocker pull
と同様に機能する。そのため、イメージ名がタグなしでプッシュされた場合、すべてのタグではなく、:latest
タグのみがプッシュされる。- 環境変数をファイルに保存して、docker execの実行時に渡すことができるようになった。新しい
-env-file
を使用すると、指定したファイルから環境変数を解析できる。 create
コマンドおよびrun
コマンドで--pull=missing|always|never
オプションのフラグを使用すると、イメージをプルするタイミングをより細かく制御できる。- バッチジョブを実行するためのスウォームジョブをサポートする。
Paer-Gotch氏は、コミュニティの貢献に感謝し、次のように述べている。「この(ブログ)記事全体で「私たち」と言うときは、Docker社の(素晴らしい)エンジニアだけでなく、Docker社以外の(素晴らしい)エンジニアと、このリリースの形成に貢献した幅広いコミュニティを意味します。」
2020年が終わると、Dockerは繰り返しニュースになった。サブスクリプションプランを導入し、Kubernetesはv1.20.0でDocker Engineのサポートを廃止したためである。
はじめに、読者はDocker Webサイトにあるパッケージをインストールできる。このリリースの詳細については、リリースノートをご覧ください。この記事の執筆時点で、Dockerは2つのマイナーバージョンをリリースしている。