Docker Engine リリースノート

このドキュメントは Docker Engine における最新の変更、追加、既知の問題、バグフィックスについて示します。

メモ

クライアントとコンテナーランタイムは、Docker Engine 18.09 からデーモンとは別パッケージになりました。 ユーザーがインストールおよびアップデートをする際には、同時に 3 つのパッケージを入手して行い、最新のパッチリリースを合わせるようにします。 たとえば Ubuntu においては sudo apt install docker-ce docker-ce-cli containerd.io を実行します。 詳しくは、各ディストリビューションにおけるインストール手順を参照してください。

Version 20.10

20.10.14

2022-03-23

Docker Engine の本リリースでは、CVE-2022-24769 において説明されている、コンテナー内のデフォルトの継承機能に関する更新を行っています。 そして同じく説明されているcontainerd.ioランタイムの最新版も含みます。 issue.

デーモン

  • Update the default inheritable capabilities.

Builder

  • Update the default inheritable capabilities for containers used during build.

パッケージ

  • containerd (containerd.ioパッケージ) の v1.5.11 への更新。
  • docker buildxv0.8.1 への更新。

20.10.13

2022-03-10

Docker Engine の本リリースには以下のものが含まれます。 バグフィックス、パッケージ変更、docker scanコマンドおよびdocker buildxの更新、Go ランタイムの更新版、containerd.ioランタイムの更新版です。 このリリースに合わせて Docker Compose V2 の.debおよび.rpmパッケージも提供します。 これはdocker-compose-pluginを使ってインストールすることができます。 package.

Builder

  • buildx のバンドル版の v0.8.0 への更新。

デーモン

  • コンテナー状態を更新する際の競合問題を解消しました。 moby/moby#43166
  • デーモンが誤ってファイルロックを行わないように etcd 依存関係を更新しました。 moby/moby#43259
  • デフォルトのnet.ipv4.ping_group_range sysctl を設定する際のユーザー名前空間の検出を修正しました。 moby/moby#43084

ディストリビューション

  • イメージプルの際に接続エラーが発生した場合に、イメージマニフェストのダウンロードをリトライするようにしました。 moby/moby#43333

ドキュメント

  • コマンドラインリファレンスと API ドキュメントをいくつも修正しました。

ログ処理

  • コンテナーにおいて “local” ログドライバーを用いることで、大量のログメッセージが生成される際の OOM を回避しました。 moby/moby#43165
  • fluentd ログドライバーを更新し、潜在的にデーモンをクラッシュさせる不具合を解消しました。 またfluentd-async-connect=trueの利用時であってリモートサーバーに到達できなかった場合に、コンテナーがハングすることを回避しました。 moby/moby#43147

パッケージ

  • Docker Compose V2 に対する.debおよび.rpmパッケージを提供しました。 Linux においてはdocker-compose-pluginパッケージを使って Docker Compose v2.3.3 をインストールできます。 これは Docker CLI においてdocker composeサブコマンドを提供するものです。 Docker Compose プラグインも同時にインストールされます。 これによってdocker-compose (Docker Compose V1) docker/docker-ce-packaging#638 のとりあえずの実現として、スタンドアロンを実行します。 compose-cli-pluginパッケージは、古い版の Docker CLI であっても CLI プラグイン (Docker CLI 18.09 およびそれ以降) を用いることで利用することもできます。
  • 近々リリースされる Ubuntu 22.04 “Jammy Jellyfish” LTS リリース docker/docker-ce-packaging#645 に対するパッケージを提供します。 docker/containerd-packaging#271
  • docker buildxv0.8.0 に更新しました。
  • docker scan (docker-scan-plugin) を v0.17.0 に更新しました。
  • containerd (containerd.io パッケージ) を v1.5.10 に更新しました。
  • バンドルされている runc のバージョンを v1.0.3 にしました。
  • Go 言語ランタイムを Go 1.16.15 に更新しました。

20.10.12

2021-12-13

Docker Engine の本リリースでの変更は、パッケージング部分のみです。 また更新はdocker scandocker buildxのコマンドに対して行っています。 バージョンが v0.11.0 以前のdocker scanLog4j 2 CVE-2021-44228 を検出することはできません。 本リリースにおいては更新版のdocker scanを提供しています。 これを使えば、イメージのぜい弱性をスキャンすることができます。

メモ

Linux 上におけるdocker scanコマンドは、現在のところ x86 プラットフォームにおいてのみサポートしています。 Linux 上におけるそれ以外のハードウェアアーキテクチャーに対しては、まだパッケージ提供は行っていません。

docker scanの機能は、個別のパッケージとして提供しています。 これはアップデートやインストールの方法によって状況が異なることになります。 最新版の’docker scan’は自動的には更新されていない場合があります。 最新のdocker scanに更新するには、以下の手順に従ってください。 またその手順に従えば、Docker Engine をアップグレードしなくても、docker scanパッケージのインストールやアップグレードを行うこともできます。

Ubuntu や Debian のような.debをベースとするディストリビューションでは、以下のようにします。

$ apt-get update && apt-get install docker-scan-plugin

CentOS や Fedora のような rpm ベースのディストリビューションでは、以下のようにします。

$ yum install docker-scan-plugin

アップグレードを行ったら、インストールしたdocker scanが最新であるかどうかを確認します。

$ docker scan --accept-license --version
Version:    v0.12.0
Git commit: 1074dd0
Provider:   Snyk (1.790.0 (standalone))

CVE-2021-44228 に関するブログ投稿 を読んでください。 docker scanコマンドによって、イメージのぜい弱性がチェックされることを確認してください。

パッケージ

  • Update docker scan to v0.12.0.
  • Update docker buildx to v0.7.1.
  • Update Golang runtime to Go 1.16.12.

20.10.11

2021-11-17

重要

Go 1.16 における net/http 変更 に基づいて、環境変数$HTTP_PROXYを通じて設定された HTTP プロキシーは、TLS (https://) 接続には使われなくなりました。 https:// URL のリクエスト処理に対しては、環境変数$HTTPS_PROXYも利用していることを確認してください。

HTTP/HTTPS プロキシーの節 を参照して、Docker デーモンがプロキシーサーバーを利用する設定方法について確認してください。

ディストリビューション

Windows

  • 読み込み専用属性になっていた panic.log ファイルを修正しました。 moby/moby#42987

パッケージ

  • containerd を v1.4.12 にアップデートし、CVE-2021-41190 を軽減しました。
  • Go 言語ランタイムを Go 1.16.10 にアップデートしました。

20.10.10

2021-10-25

重要

Go 1.16 における net/http 変更 に基づいて、環境変数$HTTP_PROXYを通じて設定された HTTP プロキシーは、TLS (https://) 接続には使われなくなりました。 https:// URL のリクエスト処理に対しては、環境変数$HTTPS_PROXYも利用していることを確認してください。

HTTP/HTTPS プロキシーの節 を参照して、Docker デーモンがプロキシーサーバーを利用する設定方法について確認してください。

Builder

  • ARM マシンにおいて BuildKit を利用する場合に、ローカルのイメージキャッシュが見つからないことを利用して、docker build修正のため、プラットフォームに応じたマッチングロジックを修正しました。 moby/moby#42954

ランタイム

  • Fedora および Ubuntu の最新版においてコンテナー実行をサポートするために、デフォルトの seccomp ポリシー内にclone3システムコールへの対応を追加しました。 moby/moby/#42836.
  • Windows: hcsshim ライブラリを修正し、コンテナーレイヤー内においてスパースファイルの扱いに関するバグを修正しました。 これは Windows における最新の変更において公開されています。 moby/moby#42944.
  • docker stopがハングしてしまう状況を修正しました。 moby/moby#42956.

Swarm

  • サービス更新の際に、処理失敗があってもロールバックしていなかった点を修正しました。 moby/moby#42875.

パッケージ

  • Ubuntu 21.10 “Impish Indri” と Fedora 35 向けにパッケージを追加しました。
  • docker scanを v0.9.0 にアップデートしました。
  • Go 言語ランタイムを Go 1.16.9 にアップデートしました。

20.10.9

2021-10-04

本リリースは、CLI やランタイムにおけるセキュリティフィックスを含んだセキュリティリリースです。 また containerd.io パッケージの更新バージョンも含みます。

重要

Go 1.16 において net/http changes (net/http の変更) があったため、環境変数$HTTP_PROXYを使った HTTP プロキシーの設定は、TLS (https://) 接続においては用いられなくなりました。 https:// URL によるリクエストを扱う際には、環境変数$HTTPS_PROXYの設定も必要になることを忘れないでください。

HTTP/HTTPS プロキシーの節 を参照して、プロキシーサーバーを利用する場合の Docker デーモンの設定方法を確認してください。

クライアント

  • CVE-2021-41092 デフォルトの auth 設定ファイルに、アドレス項目を持つようにしました。 これにより、資格情報がデフォルトのレジストリに送信されないようにしました。

ランタイム

  • CVE-2021-41089 docker cpの処理時に chroot 内で親ディレクトリを生成するようにしました。 これにより、特別に作成されたコンテナーが、ホストのファイルシステムにおける既存ファイルのパーミッションを変更してしまわないようにしました。
  • CVE-2021-41091 ファイルパーミッションを下げることによって、非特権ユーザーにより、/var/lib/docker内を検索したり、プログラム実行ができることがないようにしました。

パッケージ

既知の問題

当リリースの static パッケージに含まれるctrバイナリは、スタティックリンクが行われていません。 したがって alpine をベースイメージとする DOcker イメージでは、実行することができません。 これを解消するためには、libc6-compatパッケージをインストールするか、ctrバイナリの一つ前のバージョンを利用するようにしてください。 詳しくは、この問題に関連する containerd のチケット containerd/containerd#5824 を参照してください。

  • Go 言語のランタイムを Go 1.16.8 に更新しました。 これには CVE-2021-36221CVE-2021-39293 への対応が含まれています。
  • rpm と deb パッケージにおけるスタティックライブラリを containerd v1.4.11 と runc v1.0.2 に更新しました。 CVE-2021-41103
  • rpm と deb パッケージにバンドルする buildx バージョンを v0.6.3 に更新しました。

20.10.8

2021-08-03

重要

Go 1.16 において net/http changes (net/http の変更) があったため、環境変数$HTTP_PROXYを使った HTTP プロキシーの設定は、TLS (https://) 接続においては用いられなくなりました。 https:// URL によるリクエストを扱う際には、環境変数$HTTPS_PROXYの設定も必要になることを忘れないでください。

HTTP/HTTPS プロキシーの節 を参照して、プロキシーサーバーを利用する場合の Docker デーモンの設定方法を確認してください。

廃止決定

  • 暗号化 TLS の秘密鍵に対するサポートは廃止決定しました。 RFC 1423 において規定されている従来の PEM 暗号化は、設計の段階で安全でないものです。 これは暗号文を認証しないため、攻撃者が平文を解読可能となる padding oracle 攻撃に対してぜい弱です。 暗号化 TLS の秘密鍵に対するサポートは、現在、廃止決定 (deprecated) とされ、今後のリリースにおいて削除される予定です。 docker/cli#3219
  • Kubernetes のスタックサポートを廃止決定しました。 Docker CLI のstackcontextのコマンドにおける Kubernetes サポートは、Compose on Kubernetes が廃止決定されたことに対応して、廃止決定 (deprecated) とされ、今後のリリースにおいて削除される予定です。 docker/cli#3174

クライアント

  • Windows におけるInvalid standard handle identifierエラーを修正しました。 docker/cli#3132

Rootless

  • SELinux ホストにおけるcan't open lock file /run/xtables.lock: Permission deniedエラーを回避するようにしました。 moby/moby#42462
  • SELinux の動作中は、パーミッション拒否のエラーを防ぐために overlay2 を無効にしました。 moby/moby#42462
  • openSUSE Tumbleweed におけるx509: certificate signed by unknown authorityエラーを修正しました。 moby/moby#42462

ランタイム

  • シングルアーキテクチャーイメージに対して--platformオプションを利用する際に、指定のアーキテクチャーに一致しない場合には、警告を表示するようにしました。 moby/moby#42633
  • cgroups v2 の利用時に、Your kernel does not support swap memory limitという誤った警告表示を修正しました。 moby/moby#42479
  • Windows: HcsShutdownComputeSystemERROR_PROC_NOT_FOUNDエラーを返した際に、コンテナーが止まっていない状況を修正しました。 moby/moby#42613

Swarm

  • ノードにおいてロードバランサーの古い IP のクリアの失敗が起きることで、IP アドレスがかぶってしまう可能性を修正しました。 moby/moby#42538
  • log broker のデッドロックを修正しました (“dispatcher is stopped”)。 moby/moby#42537

パッケージ

既知の問題

当リリースの static パッケージに含まれるctrバイナリは、スタティックリンクが行われていません。 したがって alpine をベースイメージとする DOcker イメージでは、実行することができません。 これを解消するためには、libc6-compatパッケージをインストールするか、ctrバイナリの一つ前のバージョンを利用するようにしてください。 詳しくは、この問題に関連する containerd のチケット containerd/containerd#5824 を参照してください。

20.10.7

2021-06-02

クライアント

  • 廃止予定の cgroup に対する警告を除きました。 docker/cli#3099 参照。
  • Linux や macOS において、シグナルSIGURGがコンテナーに送信されないようにしました。 Go 言語のランタイム (Go 1.14 以降) では、プリエンプティブなシステムコールのサポートを阻止するものとして、SIGURGシグナルが内部的に呼び出されます。 Docker CLI がコンテナーにアタッチされる状況では、そういった阻止がコンテナーに対して転送されます。 これによって Docker CLI がSIGURGシグナルを無視するような変更につながりました。 docker/cli#3107, moby/moby#42421 参照。

Builder

  • BuildKit をバージョン v0.8.3-3-g244e8cde に更新しました。 moby/moby#42448
    • Transform relative mountpoints for exec mounts in the executor to work around a breaking change in runc v1.0.0-rc94 and up. moby/buildkit#2137.
    • Add retry on image push 5xx errors. moby/buildkit#2043.
    • COPYコマンドにワイルドカードをつけてファイル名変更を行った際に、ビルドキャッシュが不正にならないように修正しました。 この変更によって、そのようなコピーを行った既存のビルドキャッシュは不正なものとなります。 moby/buildkit#2018
    • マウントを利用した場合にビルドキャッシュが不正にならないように修正しました。 moby/buildkit#2076
  • 古いスキーマ 1 イメージを用いていてFROMイメージがキャッシュされていない場合に、ビルドに失敗する状況を修正しました。 moby/moby#42382

ログ処理

  • Update the hcsshim SDK to make daemon logs on Windows less verbose moby/moby#42292.

Rootless

  • Fix capabilities not being honored when an image was built on a daemon with user-namespaces enabled moby/moby#42352.

ネットワーク処理

  • Update libnetwork to fix publishing ports on environments with kernel boot parameter ipv6.disable=1, and to fix a deadlock causing internal DNS lookups to fail moby/moby#42413.

Contrib

  • Update rootlesskit to v0.14.2 to fix a timeout when starting the userland proxy with the slirp4netns port driver moby/moby#42294.
  • Fix “Device or resource busy” errors when running docker-in-docker on a rootless daemon moby/moby#42342.

パッケージ

20.10.6

2021-04-12

クライアント

  • Docker CLI において Apple Silicon (darwin/arm64) をサポートしました。 docker/cli#3042
  • config: pre-v1.7.0 の設定ファイル~/.dockercfgになっている場合に、書式が古い旨のメッセージを表示します。 docker/cli#3000

Builder

  • 古いビルダーが Dockerfile オプションのうちサポートされていないものを、何も表示せずにやり過ごす点を修正し、代わりに BuildKit を有効にする方法を示すことにしました。 moby/moby#42197

ログ処理

  • json-file: 散発的に発生する unexpected EOF エラーを修正しました。 moby/moby#42174

ネットワーク処理

  • Docker 20.10 における処理後退を修正し、ポートマッピング時に IPv6 アドレスがデフォルトでバインドされなくなるようにしました。 moby/moby#42205
  • API レスポンスに含まれない暗黙の IPv6 ポートマッピングを修正しました。 Docker 20.10 よりも前であれば、公開ポートはデフォルトで IPv4、IPv6 のいずれからでもアクセス可能でした。 しかし API には IPv4(0.0.0.0)のマッピング情報しか含まれていませんでした。 moby/moby#42205
  • Docker 20.10 における処理後退を修正し、あらゆる状況において docker-proxy が停止しないようにしました。 moby/moby#42205
  • コンテナー削除に際して iptables のフォワードルールがクリーンアップされない問題を修正しました。 moby/moby#42205

パッケージ

プラグイン

  • Docker プラグインから生成されるプラグインが、Docker の旧バージョンと非互換となってしまう問題を修正しました。 moby/moby#42256

Rootless

  • RootlessKit を v0.14.1 に更新しました。 (v0.14.0v0.13.2 も参照してください。) moby/moby#42186moby/moby#42232
  • dockerd-rootless-setuptool.sh: CLI コンテキスト「rootless」を生成しました。 moby/moby#42109
  • dockerd-rootless.sh: root としての実行を禁止しました。 moby/moby#42072
  • 既存のマウントをバインドマウントする際の「operation not permitted」を修正しました。 moby/moby#42233
  • overlay2: 「createDirWithOverlayOpaque(...) ... input/output error」を修正しました。 moby/moby#42235
  • overlay2: 「userxattr」オプションに対応しました(カーネル 5.11)。 moby/moby#42168
  • btrfs: 非特権ユーザーがサブボリュームを削除できるようにしました(カーネル 4.18 以上)。 moby/moby#42253
  • cgroup2: cgroup v2 を試験的機能から格上げしました。 moby/moby#42263

20.10.5

2021-03-02

クライアント

  • docker/cli#2960 を元に戻してdocker start --attachがハングしないようにしました。 また不適当なUnsupported signal: <nil>. Discardingというメッセージを削除しました。 docker/cli#2987

20.10.4

2021-02-26

Builder

  • 空のレイヤーがあるインラインキャッシュのインポートにおいて、間違ったキャッシュがマッチしてしまう誤りを修正しました。 moby/moby#42061
  • BuildKit v0.8.2 へのアップデート。moby/moby#42061
    • resolver: トークンフェッチ時のキャッシング不備を回避しました。
    • fileop: 入力インデックスがキャッシュ不備を起こさないようにチェックサムを修正しました。
    • マウント参照に関して出力される参照数の出力不備を修正しました。 (invalid mutable refのエラーを修正しました。)
    • git: 異なる資格情報を使ってサブモジュールのクローンが可能となるように、メインのリモートアクセスについてのみトークンを設定するようにしました。
  • プル処理を行った後に /var/lib/docker/buildkit/content/blobs/sha256 にある blob データが確実に削除されるようにしました。 古い状態を更新するにはbuilder pruneを実行します。 moby/moby#42065
  • 同時並行で行ったプル処理の同期に関して、機能退化を修正しました。」 moby/moby#42049
  • libnetwork の状態ファイルの扱いが漏れのないようにしました。 moby/moby#41972

クライアント

  • config ファイル不在時にdocker loginが panic となるのを修正しました。 docker/cli#2959
  • WARNING: Error loading config file: .dockercfg: $HOME is not definedを修正しました。 docker/cli#2958

ランタイム

  • docker info: 対処不要の警告メッセージを除きました。 moby/moby#41958
  • XGlobalHeader において親ディレクトリ生成を回避しました。 moby/moby#42017
  • 存在しないディレクトリの生成時にはパーミッション 0755 を利用するようにしました。 moby/moby#42017
  • イメージ設定内のプラットフォームが不適切である場合には、改めてマニフェストリストを見るようにしました。 moby/moby#42045 moby/moby#41873
  • カスタムのデフォルトランタイムを設定した際のデーモンパニック発生を修正しました。 moby/moby#41974
  • デーモン設定が空であるときのパニック発生を修正しました。 moby/moby#41976
  • 不正な device cgroup rule によりコンテナー起動した際に発生するデーモンパニックを修正しました。 moby/moby#42001
  • ユーザー名あるいは UID がマッチしたときの userns-remap オプションを修正しました。 moby/moby#42013
  • static: runc バイナリを v1.0.0-rc93 に更新しました。 moby/moby#42014

ログ処理

  • labelsが設定されていなくてもlabels-regexの設定を用いることにしました。 moby/moby#42046
  • 長いログメッセージを適切に扱うようにしました。 これにより non-blocking モードの awslogs において 16 KB 以上のイベントログが分割されないようにしました。 mobymoby#41975

Rootless

  • systemd の KillMode を mixed に設定することで、サービスが停止する際にハングしないようにしました。 moby/moby#41956
  • dockerd-rootless.sh: タイポ確認を行うようにしました。 moby/moby#42070
  • rootlesskit を v0.13.1 に更新し IPv6 アドレスの扱いを修正しました。 moby/moby#42025
  • ユーザー空間内部において FIFO の mknod を可能にしました。 moby/moby#41957

セキュリティ

  • profiles: seccomp: syscall リストを Linux 5.11 に更新しました。 moby/moby#41971

Swarm

  • 再起動時にハートビートが維持されない問題を修正しました。 moby/moby#42060
  • タスクが停止してしまう可能性を修正しました。 moby/moby#42060
  • Fix --update-order and --rollback-order flags when only --update-order or --rollback-order is provided docker/cli#2963
  • Fix docker service rollback returning a non-zero exit code in some situations docker/cli#2964
  • Fix inconsistent progress-bar direction on docker service rollback docker/cli#2964

20.10.3

2021-02-01

セキュリティ

  • CVE-2021-21285 Docker デーモンがクラッシュしても不正なイメージとならないようにしました。
  • CVE-2021-21284 ファイルパーミッションを落とすことで、再マップされたルートが Docker 状態にアクセスできないようにしました。
  • BuildKit 利用によるビルド時に AppArmor や SELinux プロファイルが必ず適用されるようにしました。

クライアント

  • インポート前にコンテキストをチェックするようにし、抽出(解凍)されたファイルがコンテキスト外に保存されるリスクを軽減しました。
  • Windows: カレントディレクトリからバイナリが実行されないようにしました。 docker/cli#2950

20.10.2

2021-01-04

ランタイム

  • 再起動ポリシーに従ってコンテナーを復元する際に再起動の失敗が続き、デーモン起動がハングする状態を修正。 moby/moby#41729
  • overlay2: data-root が 24 バイト長のときにコンテナーのビルドおよび実行ができなくなるオフバイワン(off-by-one)エラーを修正。 moby/moby#41830
  • systemd: シャットダウン時にsd_notify STOPPING=1を送信するように。 moby/moby#41832

ネットワーク処理

Swarm

  • replicated-jobglobal-jobのサービスモードに対するフィルタリングを修正。 moby/moby#41806

パッケージ

20.10.1

2020-12-14

Builder

パッケージ

20.10.0

2020-12-08

廃止決定、削除

廃止決定した機能の概要は 廃止となった Engine 機能 のページを参照してください。

  • ダイジェスト値によるプルをサポートしていない非準拠 レジストリからdocker pullを行った際の警告および廃止機能に関するメッセージ。 docker/cli#2872
  • Sterner warnings and deprecation notice for unauthenticated tcp access moby/moby#41285
  • KernelMemory の廃止決定。 (docker run --kernel-memorymoby/moby#41254 docker/cli#2652
  • aufsストレージドライバーの廃止決定。 docker/cli#1484
  • 外部キーバリューストアを利用したホスト検出とオーバーレイネットワークの廃止決定。 moby/moby#40614 moby/moby#40510
  • Dockerfile における古い文法「ENV name value」の廃止決定。 代わりにENV name=valueとする。 docker/cli#2743
  • API v1.41 またはそれ以上において、廃止決定の「filter」パラメーターを削除。 moby/moby#40491
  • Disable distribution manifest v2 schema 1 on push moby/moby#41295
  • Remove hack MalformedHostHeaderOverride breaking old docker clients (<= 1.12) in which case, set DOCKER_API_VERSION moby/moby#39076
  • サブコマンド「docker engine」を削除。 docker/cli#2207
  • 「dab」ファイルから試験的な「deploy」を削除。 docker/cli#2216
  • 廃止決定したdocker search --automated--starsフラグを削除。 docker/cli#2338
  • No longer allow reserved namespaces in engine labels docker/cli#2326

API

  • API バージョンの v1.41 へのアップデート。
  • メトリックス API に対して「試験的」は不要。 moby/moby#40427
  • GET /events now returns prune events after pruning resources have completed moby/moby#41259
    • Prune events are returned for container, network, volume, image, and builder, and have a reclaimed attribute, indicating the amount of space reclaimed (in bytes)
  • Add one-shot stats option to not prime the stats moby/moby#40478
  • info API(/info)に OS バージョンを追加。 moby/moby#38349
  • docker info に DefaultAddressPools を追加。 moby/moby#40714
  • サービス上に PidsLimit に対する API サポートを追加。 moby/moby#39882

Builder

  • buildkit,dockerfile: Support for RUN --mount options without needing to specify experimental dockerfile #syntax directive. moby/buildkit#1717
  • dockerfile: ARG command now supports defining multiple build args on the same line similarly to ENV moby/buildkit#1692
  • dockerfile: --chown flag in ADD now allows parameter expansion moby/buildkit#1473
  • buildkit: Fetching authorization tokens has been moved to client-side (if the client supports it). Passwords do not leak into the build daemon anymore and users can see from build output when credentials or tokens are accessed. moby/buildkit#1660
  • buildkit: Connection errors while communicating with the registry for push and pull now trigger a retry moby/buildkit#1791
  • buildkit: Git source now supports token authentication via build secrets moby/moby#41234 docker/cli#2656 moby/buildkit#1533
  • buildkit: Building from git source now supports forwarding SSH socket for authentication moby/buildkit#1782
  • buildkit: Avoid builds that generate excessive logs to cause a crash or slow down the build. Clipping is performed if needed. moby/buildkit#1754
  • buildkit: Change default Seccomp profile to the one provided by Docker moby/buildkit#1807
  • buildkit: Support for exposing SSH agent socket on Windows has been improved moby/buildkit#1695
  • buildkit: Disable truncating by default when using --progress=plain moby/buildkit#1435
  • buildkit: Allow better handling client sessions dropping while it is being shared by multiple builds moby/buildkit#1551
  • buildkit: secrets: allow providing secrets with env moby/moby#41234 docker/cli#2656 moby/buildkit#1534
    • Support --secret id=foo,env=MY_ENV as an alternative for storing a secret value to a file.
    • --secret id=GIT_AUTH_TOKEN will load env if it exists and the file does not.
  • buildkit: Support for mirrors fallbacks, insecure TLS and custom TLS config moby/moby#40814
  • buildkit: remotecache: Only visit each item once when walking results moby/moby#41234 moby/buildkit#1577
    • Improves performance and CPU use on bigger graphs
  • buildkit: Check remote when local image platform doesn’t match moby/moby#40629
  • buildkit: image export: Use correct media type when creating new layer blobs moby/moby#41234 moby/buildkit#1541
  • buildkit: progressui: fix logs time formatting moby/moby#41234 docker/cli#2656 moby/buildkit#1549
  • buildkit: mitigate containerd issue on parallel push moby/moby#41234 moby/buildkit#1548
  • buildkit: inline cache: fix handling of duplicate blobs moby/moby#41234 moby/buildkit#1568
    • Fixes https://github.com/moby/buildkit/issues/1388 cache-from working unreliably
    • Fixes https://github.com/moby/moby/issues/41219 Image built from cached layers is missing data
  • Allow ssh:// for remote context URLs moby/moby#40179
  • builder: remove legacy build’s session handling (was experimental) moby/moby#39983

クライアント

  • Add swarm jobs support to CLI docker/cli#2262
  • Add -a/--all-tags to docker push docker/cli#2220
  • Add support for Kubernetes username/password auth docker/cli#2308
  • Add --pull=missing|always|never to run and create commands docker/cli#1498
  • Add --env-file flag to docker exec for parsing environment variables from a file docker/cli#2602
  • Add shorthand -n for --tail option docker/cli#2646
  • Add log-driver and options to service inspect “pretty” format docker/cli#1950
  • docker run: specify cgroup namespace mode with --cgroupns docker/cli#2024
  • docker manifest rm command to remove manifest list draft from local storage docker/cli#2449
  • Add “context” to “docker version” and “docker info” docker/cli#2500
  • Propagate platform flag to container create API docker/cli#2551
  • The docker ps --format flag now has a .State placeholder to print the container’s state without additional details about uptime and health check docker/cli#2000
  • Add support for docker-compose schema v3.9 docker/cli#2073
  • Add support for docker push --quiet docker/cli#2197
  • Hide flags that are not supported by BuildKit, if BuildKit is enabled docker/cli#2123
  • Update flag description for docker rm -v to clarify the option only removes anonymous (unnamed) volumes docker/cli#2289
  • Improve tasks printing for docker services docker/cli#2341
  • docker info: list CLI plugins alphabetically docker/cli#2236
  • Fix order of processing of --label-add/--label-rm, --container-label-add/--container-label-rm, and --env-add/--env-rm flags on docker service update to allow replacing existing values docker/cli#2668
  • Fix docker rm --force returning a non-zero exit code if one or more containers did not exist docker/cli#2678
  • Improve memory stats display by using total_inactive_file instead of cache docker/cli#2415
  • Mitigate against YAML files that has excessive aliasing docker/cli#2117
  • Allow using advanced syntax when setting a config or secret with only the source field docker/cli#2243
  • Fix reading config files containing username and password auth even if auth is empty docker/cli#2122
  • docker cp: prevent NPE when failing to stat destination docker/cli#2221
  • config: preserve ownership and permissions on configfile docker/cli#2228

ログ処理

  • Support reading docker logs with all logging drivers (best effort) moby/moby#40543
  • Add splunk-index-acknowledgment log option to work with Splunk HECs with index acknowledgment enabled moby/moby#39987
  • Add partial metadata to journald logs moby/moby#41407
  • Reduce allocations for logfile reader moby/moby#40796
  • Fluentd: add fluentd-async, fluentd-request-ack, and deprecate fluentd-async-connect moby/moby#39086

ランタイム

ネットワーク処理

パッケージ

Rootless

セキュリティ

  • Fix CVE-2019-14271 loading of nsswitch based config inside chroot under Glibc moby/moby#39612
  • seccomp: Whitelist clock_adjtime. CAP_SYS_TIME is still required for time adjustment moby/moby#40929
  • seccomp: Add openat2 and faccessat2 to default seccomp profile moby/moby#41353
  • seccomp: allow ‘rseq’ syscall in default seccomp profile moby/moby#41158
  • seccomp: allow syscall membarrier moby/moby#40731
  • seccomp: whitelist io-uring related system calls moby/moby#39415
  • Add default sysctls to allow ping sockets and privileged ports with no capabilities moby/moby#41030
  • Fix seccomp profile for clone syscall moby/moby#39308

Swarm

docker, docker engine, ce, whats new, release notes