Docker Engine 20.10 發行說明

本文件說明了 Docker Engine 20.10 版的最新變更、新增功能、已知問題及修正。

20.10.24

2023-04-04

更新

  • 將 Go 執行環境更新至 1.19.7
  • 將 Docker Buildx 更新至 v0.10.4
  • 將 containerd 更新至 v1.6.20
  • 將 runc 更新至 v1.1.5

錯誤修正與增強功能

  • 修正了多個可能導致 Swarm 加密重疊網路無法履行其保證的問題,解決了 CVE-2023-28841CVE-2023-28840CVE-2023-28842
    • 現在,若核心不支援加密重疊網路,將會回報錯誤。
    • 加密重疊網路會立即設定,而不再等待多個節點附加。
    • 透過使用 xt_bpf 核心模組,加密重疊網路現在可在 Red Hat Enterprise Linux 9 上使用。
    • Swarm 重疊網路的使用者應檢閱 GHSA-vwm3-crmr-xfxw,以確保未發生意外洩露。
  • 將 github.com/containerd/fifo 升級至 v1.1.0,以修正潛在的恐慌錯誤 moby/moby#45216
  • 修正已安裝的 CLI 插件缺少 Bash 自動完成的問題 docker/cli#4091

20.10.23

2023-01-19

此版 Docker Engine 包含 Docker Compose、Docker Buildx、containerd 的更新版本,以及一些小的錯誤修正和增強功能。

更新

錯誤修正與增強功能

  • 修正啟用 BuildKit 時,使用 --add-host=host.docker.internal:host-gateway 執行 docker build 會失敗的問題 moby/moby#44650

  • 復原 seccomp:在預設設定檔中阻止對 AF_VSOCK 的 Socket 呼叫 moby/moby#44712

    此變更從安全性角度來看是有利的,但導致某些使用情境的行為發生變化。因此,我們將其復原,以確保受影響使用者的穩定性和相容性。

    然而,容器中 AF_VSOCK 的使用者應注意,此 (特殊) 位址家族目前在任何版本的 Linux 核心中都沒有命名空間,可能導致非預期的行為,例如容器直接與主機虛擬機器管理程式通訊。

    未來的版本將會篩選 AF_VSOCK。需要允許容器透過未命名空間的 AF_VSOCK 通訊的使用者,將需要關閉 seccomp 限制或設定自訂的 seccomp 設定檔。

20.10.22

2022-12-16

此版 Docker Engine 包含 Docker Compose、Docker Scan、containerd 的更新版本,以及一些小的錯誤修正和增強功能。

更新

錯誤修正與增強功能

  • 改進嘗試拉取不支援的映像檔格式或 OCI Artifact 時的錯誤訊息 moby/moby#44413moby/moby#44569
  • 修正為容器選擇隨機連接埠時,主機的臨時連接埠範圍被忽略的問題 moby/moby#44476
  • 修正使用 OpenSSH 8.9 或更高版本的主機上,執行 docker build 時出現 ssh: parse error in message type 27 錯誤的問題 moby/moby#3862
  • seccomp:在預設設定檔中阻止對 AF_VSOCK 的 Socket 呼叫 moby/moby#44564

20.10.21

2022-10-25

此版 Docker Engine 包含 Docker Compose、Docker Scan、containerd 的更新版本,新增了 Ubuntu 22.10 的套件,以及一些小的錯誤修正和增強功能。

新增功能

  • 提供 Ubuntu 22.10 (Kinetic Kudu) 的套件。
  • 新增對 Docker Hub 的 allow-nondistributable-artifacts 支援 moby/moby#44313

更新

  • 將 Docker Compose 更新至 v2.12.2
  • 將 Docker Scan 更新至 v0.21.0
  • 將 containerd (containerd.io 套件) 更新至 v1.6.9
  • 更新綁定的 BuildKit 版本,以修正 output clipped, log limit 1MiB reached 錯誤 moby/moby#44339

錯誤修正與增強功能

  • 移除 Bash 自動完成中 --platform 的實驗性限制 docker/cli#3824
  • 修正從舊版 Windows CLI 將 Docker Engine 註冊為服務時,出現 Invalid standard handle identifier 恐慌錯誤的問題 moby/moby#44326
  • 修正 Windows 上 Cygwin 執行 Git 指令的問題 moby/moby#44332

20.10.20

2022-10-18

此版 Docker Engine 包含針對 Git 漏洞 (CVE-2022-39253) 的部分緩解措施,並更新了 image:tag@digest 映像檔參考的處理方式。

此 Git 漏洞允許惡意製作的 Git 儲存庫在用作建置內容時,將任意檔案系統路徑複製到生成的容器/映像檔中;這可能發生在常駐程式和 API 用戶端中,具體取決於所使用的版本和工具。

此版本和常駐程式 API 的其他使用者中提供的緩解措施是部分的,僅保護建置 Git URL 內容 (例如 git+protocol://) 的使用者。由於手動執行的 Git 命令仍可能利用此漏洞,這些命令會與子模組互動並檢出子模組,因此使用者應立即升級到已修補的 Git 版本以防範此漏洞。更多詳細資訊可從 GitHub 部落格 (「Git 安全漏洞公告」) 獲取。

更新

  • 將 Docker Compose 更新至 v2.12.0
  • 更新了 image:tag@digest 參考的處理方式。當使用 image:tag@digest (「依摘要拉取」) 拉取映像檔時,映像檔解析會透過內容可定址摘要進行,並且不會使用映像檔和標籤。雖然這是預期的行為,但可能導致混淆,並可能透過社交工程利用來執行本機映像檔儲存庫中已存在的映像檔。Docker 現在會檢查摘要是否與用於拉取映像檔的儲存庫名稱匹配,否則將產生錯誤。
  • 更新了 image:tag@digest 參考的處理方式。詳細資訊請參閱上方的「Daemon」部分。

錯誤修正與增強功能

20.10.19

2022-10-14

此版 Docker Engine 包含一些錯誤修正,以及 Docker Compose 的更新版本。

更新

錯誤修正與增強功能

  • 修正了在執行 docker builder prunedocker system prune 期間可能導致恐慌錯誤的問題 moby/moby#44122
  • 修正了一個錯誤,即如果常駐程式在啟用「即時還原」的情況下運行並重新啟動,使用 docker volume prune 會移除仍在使用的磁碟區 moby/moby#44238

20.10.18

2022-09-09

此版 Docker Engine 包含對一個低嚴重性安全問題的修正、一些小的錯誤修正,以及 Docker Compose、Docker Buildx、containerdrunc 的更新版本。

更新

錯誤修正與增強功能

  • 為 Docker Compose 新增 Bash 自動完成功能 docker/cli#3752
  • 修正建置期間未保留檔案功能的問題 moby/moby#43876
  • 修正可能因並行地圖讀取和地圖寫入而導致恐慌錯誤的問題 moby/moby#44067
  • 修正與補充群組權限相關的安全漏洞,該漏洞可能允許容器程序繞過容器內主要群組的限制 CVE-2022-36109GHSA-rc4r-wh2q-q6c4
  • seccomp:在預設策略中新增對 Landlock 系統呼叫的支援 moby/moby#43991
  • seccomp:更新預設策略以支援核心 5.12 - 5.16 中引入的新系統呼叫 moby/moby#43991
  • 修正映像檔清單的快取查詢失敗,導致對映像檔註冊表進行多餘往返的問題 moby/moby#44109
  • 修正 exec 程序和健康檢查在逾時時未終止的問題 moby/moby#44018

20.10.17

2022-06-06

此版 Docker Engine 包含 Docker Compose 以及 containerdrunc 組件的更新版本,以及一些小的錯誤修正。

更新

錯誤修正與增強功能

  • 從 zsh 自動完成腳本中的 docker 指令中移除星號 docker/cli#3648
  • 修正 Windows 上重疊網路在主機模式下,已發布連接埠的連接埠衝突問題 moby/moby#43644
  • 確保性能調優始終應用於 libnetwork 沙盒 moby/moby#43683

20.10.16

2022-05-12

此版 Docker Engine 修正了 macOS 版 Docker CLI 建置中的迴歸問題,修正了使用 containerd 1.5 及更高版本時 docker stats 的問題,並更新了 Go 執行環境以包含對 CVE-2022-29526 的修正。

更新

  • 更新 golang.org/x/sys 依賴項,其中包含對 CVE-2022-29526 的修正。
  • 更新了 golang.org/x/sys 建置時依賴項,其中包含對 CVE-2022-29526 的修正。
  • 將 Go 執行環境更新至 1.17.10,其中包含對 CVE-2022-29526 的修正。

錯誤修正與增強功能

  • 修正了 20.10.15 版中引入的 macOS 二進位檔迴歸問題,該問題導致恐慌錯誤 docker/cli#43426
  • 修正了在使用 containerd 1.5.0 或更高版本運行時,docker stats 顯示空白統計資訊的問題 moby/moby#43567
  • docker scan CLI 插件使用「弱」依賴項,以防止使用者從下載的 RPM 套件執行離線安裝時出現「請求衝突」錯誤 docker/docker-ce-packaging#659

20.10.15

2022-05-05

此版 Docker Engine 包含 composebuildxcontainerdrunc 組件的更新版本,以及一些小的錯誤修正。

更新

  • 將 Docker Compose 更新至 v2.5.0
  • 將 Docker Buildx 更新至 v0.8.2
  • 將 Go 執行環境更新至 1.17.9
  • 將 containerd (containerd.io 套件) 更新至 v1.6.4
  • 將 runc 版本更新至 v1.1.1

錯誤修正與增強功能

  • stateCounter 使用 RWMutex,以防止潛在的鎖定擁塞 moby/moby#43426
  • 防止常駐程式在某些情況下無法找到可用 IP 範圍的問題 moby/moby#43360
  • 為 CentOS 9 stream 和 Fedora 36 新增套件。

已知問題

  • 我們發現了 20.10.15 版 macOS CLI 二進位檔的一個問題。此問題已在 20.10.16 版中解決。

20.10.14

2022-03-23

此版 Docker Engine 更新了容器的預設可繼承功能,以解決 CVE-2022-24769;同時也包含了新版 containerd.io 執行環境以解決相同的問題。

更新

  • 更新預設的可繼承功能。
  • 更新建置期間使用的容器的預設可繼承功能。
  • 將 containerd (containerd.io 套件) 更新至 v1.5.11
  • docker buildx 更新至 v0.8.1

20.10.13

2022-03-10

此版 Docker Engine 包含一些錯誤修正和套件變更,docker scandocker buildx 指令的更新,Go 執行環境的更新版本,以及 containerd.io 執行環境的新版本。隨此版本一起,我們現在還提供 Docker Compose V2 的 .deb.rpm 套件,可使用 (選用) docker-compose-plugin 套件安裝。

新增功能

  • 為 Docker Compose V2 提供 .deb.rpm 套件。Docker Compose v2.3.3 現在可以使用 docker-compose-plugin 套件安裝在 Linux 上,該套件在 Docker CLI 上提供了 docker compose 子指令。Docker Compose 插件也可以單獨安裝和運行,作為 docker-compose (Docker Compose V1) 的直接替代品 docker/docker-ce-packaging#638compose-cli-plugin 套件也可以在支援 CLI 插件的舊版 Docker CLI (Docker CLI 18.09 及更高版本) 上使用。
  • 為即將推出的 Ubuntu 22.04「Jammy Jellyfish」LTS 版本提供套件 docker/docker-ce-packaging#645docker/containerd-packaging#271

更新

  • 將綁定的 buildx 版本更新至 v0.8.0
  • docker buildx 更新至 v0.8.0
  • docker scan (docker-scan-plugin) 更新至 v0.17.0
  • 將 containerd (containerd.io 套件) 更新至 v1.5.10
  • 將綁定的 runc 版本更新至 v1.0.3
  • 將 Golang 執行環境更新至 Go 1.16.15。
  • 更新 fluentd 日誌驅動程式,以防止潛在的常駐程式崩潰,並防止在使用 fluentd-async-connect=true 且遠端伺服器無法到達時,容器掛起 moby/moby#43147

錯誤修正與增強功能

  • 修正更新容器狀態時的競態條件 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

20.10.12

2021-12-13

此版 Docker Engine 僅包含套件變更,並提供了 docker scandocker buildx 指令的更新。v0.11.0 之前的 docker scan 版本無法偵測 Log4j 2 CVE-2021-44228。我們在此版本中發布了更新版的 docker scan,以協助您掃描映像檔是否存在此漏洞。

注意

Linux 上的 docker scan 指令目前僅支援 x86 平台。我們尚未為 Linux 上的其他硬體架構提供套件。

docker scan 功能是作為單獨的套件提供的,根據您的升級或安裝方法,'docker scan' 可能不會自動更新到最新版本。使用以下說明將 docker scan 更新到最新版本。您也可以使用這些說明來安裝或升級 docker scan 套件,而無需升級 Docker Engine

在基於 .deb 的發行版上,例如 Ubuntu 和 Debian

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

在基於 rpm 的發行版上,例如 CentOS 或 Fedora

$ 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 指令檢查映像檔是否存在漏洞。

打包

  • docker scan 更新至 v0.12.0
  • docker buildx 更新至 v0.7.1
  • 將 Golang 執行環境更新至 Go 1.16.12。

20.10.11

2021-11-17

重要

由於 Go 1.16net/http 的變更,透過 $HTTP_PROXY 環境變數配置的 HTTP 代理不再用於 TLS (https://) 連線。請務必也設定 $HTTPS_PROXY 環境變數,以處理對 https:// URL 的請求。請參閱 配置常駐程式以使用代理 以了解如何配置 Docker 常駐程式以使用代理伺服器。

發布

Windows

打包

  • 將 containerd 更新至 v1.4.12,以緩解 CVE-2021-41190
  • 將 Golang 執行環境更新至 Go 1.16.10。

20.10.10

2021-10-25

重要

由於 Go 1.16net/http 的變更,透過 $HTTP_PROXY 環境變數配置的 HTTP 代理不再用於 TLS (https://) 連線。請務必也設定 $HTTPS_PROXY 環境變數,以處理對 https:// URL 的請求。請參閱 「HTTP/HTTPS 代理」部分以了解如何配置 Docker 常駐程式以使用代理伺服器。

建置器

  • 修正平台匹配邏輯,以解決在 Arm 機器上使用 BuildKit 時,docker build 無法在本機映像檔快取中找到映像檔的問題 moby/moby#42954

執行時期

  • 在預設的 seccomp 策略中新增對 clone3 系統呼叫的支援,以支援基於最新版 Fedora 和 Ubuntu 的容器運行。 moby/moby/#42836
  • Windows:更新 hcsshim 函式庫,以修正容器層中稀疏檔案處理的一個錯誤,此錯誤由 Windows 最近的變更所暴露 moby/moby#42944
  • 修正 docker stop 在某些情況下可能永遠掛起的問題 moby/moby#42956

Swarm

打包

  • 為 Ubuntu 21.10「Impish Indri」和 Fedora 35 新增套件。
  • docker scan 更新至 v0.9.0
  • 將 Golang 執行環境更新至 Go 1.16.9。

20.10.9

2021-10-04

此版本是一個安全性發布,包含 CLI、執行環境中的安全性修正,以及 containerd.io 套件的更新版本。

重要

由於 Go 1.16net/http 的變更,透過 $HTTP_PROXY 環境變數配置的 HTTP 代理不再用於 TLS (https://) 連線。請務必也設定 $HTTPS_PROXY 環境變數,以處理對 https:// URL 的請求。請參閱 「HTTP/HTTPS 代理」部分以了解如何配置 Docker 常駐程式以使用代理伺服器。

用戶端

  • CVE-2021-41092 確保預設驗證配置已設定位址欄位,以防止憑證被發送到預設註冊表。

執行時期

  • CVE-2021-41089docker cp 期間於 chroot 內建立父目錄,以防止特製容器更改主機檔案系統中現有檔案的權限。
  • CVE-2021-41091 鎖定檔案權限,以防止無權限使用者在 /var/lib/docker 中發現和執行程序。

打包

已知問題

此版本靜態套件隨附的 ctr 二進位檔並非靜態連結,因此無法在以 alpine 作為基礎映像檔的 Docker 映像檔中運行。使用者可以安裝 libc6-compat 套件,或下載 ctr 二進位檔的先前版本作為解決方法。有關此問題的詳細資訊,請參閱 containerd 的相關議題:containerd/containerd#5824

  • 將 Golang 執行環境更新至 Go 1.16.8,其中包含對 CVE-2021-36221CVE-2021-39293 的修正
  • 更新靜態二進位檔以及 containerd.io rpm 和 deb 套件至 containerd v1.4.11 和 runc v1.0.2,以解決 CVE-2021-41103
  • 將綁定的 buildx 版本更新至 v0.6.3,適用於 rpm 和 deb 套件。

20.10.8

2021-08-03

重要

由於 Go 1.16net/http 的變更,透過 $HTTP_PROXY 環境變數配置的 HTTP 代理不再用於 TLS (https://) 連線。請務必也設定 $HTTPS_PROXY 環境變數,以處理對 https:// URL 的請求。請參閱 「HTTP/HTTPS 代理」部分以了解如何配置 Docker 常駐程式以使用代理伺服器。

棄用

  • 棄用對加密 TLS 私鑰的支援。RFC 1423 中指定的舊版 PEM 加密在設計上不安全。由於它不驗證密文,因此容易受到填充神諭攻擊,攻擊者可以恢復明文。對加密 TLS 私鑰的支援現在已標記為棄用,並將在即將發布的版本中移除。 docker/cli#3219
  • 棄用 Kubernetes 堆疊支援。繼 Compose on Kubernetes 棄用之後,Docker CLI 中 stackcontext 指令對 Kubernetes 的支援現在已標記為棄用,並將在即將發布的版本中移除 docker/cli#3174

用戶端

  • 修正 Windows 上 Invalid standard handle identifier 錯誤 docker/cli#3132

無根模式

  • 避免在 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:修正 HcsShutdownComputeSystem 返回 ERROR_PROC_NOT_FOUND 錯誤時,容器未停止的情況 moby/moby#42613

Swarm

  • 修正由於節點未能清理其舊的負載平衡器 IP,可能導致 IP 位址重疊的情況 moby/moby#42538
  • 修正日誌代理中的死鎖問題 (「dispatcher is stopped」) moby/moby#42537

打包

已知問題

此版本靜態套件隨附的 ctr 二進位檔並非靜態連結,因此無法在以 alpine 作為基礎映像檔的 Docker 映像檔中運行。使用者可以安裝 libc6-compat 套件,或下載 ctr 二進位檔的先前版本作為解決方法。有關此問題的詳細資訊,請參閱 containerd 的相關議題:containerd/containerd#5824

20.10.7

2021-06-02

用戶端

  • 抑制針對已棄用 cgroups 的警告 docker/cli#3099
  • 防止在 Linux 和 macOS 上將 SIGURG 訊號發送到容器。Go 執行環境 (從 Go 1.14 開始) 內部使用 SIGURG 訊號作為中斷,以支援可搶佔的系統呼叫。在 Docker CLI 附加到容器的情況下,這些中斷會轉發到容器。此修正更改 Docker CLI 以忽略 SIGURG 訊號 docker/cli#3107moby/moby#42421

建置器

  • 將 BuildKit 更新至 v0.8.3-3-g244e8cde 版本 moby/moby#42448
    • 轉換執行器中 exec 掛載的相對掛載點,以解決 runc v1.0.0-rc94 及更高版本中的破壞性變更。 moby/buildkit#2137
    • 在映像檔推送到 5xx 錯誤時新增重試功能。 moby/buildkit#2043
    • 修正使用帶有萬用字元的 COPY 指令複製檔案時,重新命名檔案不會使建置快取失效的問題。請注意,此變更會使使用萬用字元的複製指令的現有建置快取失效。 moby/buildkit#2018
    • 修正使用掛載時,建置快取不會失效的問題 moby/buildkit#2076
  • 修正使用舊版 schema 1 映像檔時,如果 FROM 映像檔未快取則建置失敗的問題 moby/moby#42382

日誌記錄

  • 更新 hcsshim SDK,以減少 Windows 上常駐程式日誌的詳細程度 moby/moby#42292

無根模式

  • 修正當在啟用使用者命名空間的常駐程式上建置映像檔時,功能未被遵守的問題 moby/moby#42352

網路

  • 更新 libnetwork 以修正核心啟動參數 ipv6.disable=1 環境下的連接埠發布問題,並修正導致內部 DNS 查詢失敗的死鎖問題 moby/moby#42413

貢獻

  • 將 rootlesskit 更新至 v0.14.2,以修正使用 slirp4netns 連接埠驅動程式啟動使用者空間代理時逾時的問題 moby/moby#42294
  • 修正當在無根常駐程式上運行 docker-in-docker 時,出現「裝置或資源忙碌」錯誤的問題 moby/moby#42342

打包

20.10.6

2021-04-12

用戶端

  • Docker CLI 對 Apple Silicon (darwin/arm64) 的支援 docker/cli#3042
  • 配置:當回退到 v1.7.0 之前的配置文件 ~/.dockercfg 時,印出棄用警告。對此檔案的支援將在未來版本中移除 docker/cli#3000

建置器

  • 修正傳統建置器靜默忽略不支援的 Dockerfile 選項,並改為提示啟用 BuildKit 的問題 moby/moby#42197

日誌記錄

網路

  • 修正 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 plugin create 建立與舊版 Docker 不相容插件的問題 moby/moby#42256

無根模式

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

建置器

  • 修正內聯快取導入空層時,快取匹配不正確的問題 moby/moby#42061
  • 將 BuildKit 更新至 v0.8.2 moby/moby#42061
    • 解析器:避免在令牌獲取時快取錯誤
    • 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

用戶端

  • 修正 docker login 在沒有配置檔案時發生的恐慌錯誤 docker/cli#2959
  • 修正 WARNING: Error loading config file: .dockercfg: $HOME is not defined 警告 docker/cli#2958

執行時期

日誌記錄器

  • 即使未設定 labels,也遵守 labels-regex 配置 moby/moby#42046
  • 正確處理長日誌訊息,防止 awslogs 在非阻塞模式下將大於 16kB 的事件分割 mobymoby#41975

無根模式

  • 透過將 systemd KillMode 設定為混合模式,防止服務在停止時掛起 moby/moby#41956
  • dockerd-rootless.sh:新增錯字防護 moby/moby#42070
  • 將 rootlesskit 更新至 v0.13.1,以修正 IPv6 位址的處理問題 moby/moby#42025
  • 允許在使用者命名空間內 mknodding FIFO moby/moby#41957

安全性

  • 設定檔:seccomp:更新至 Linux 5.11 系統呼叫列表 moby/moby#41971

Swarm

  • 修正重新啟動後心跳無法持久的問題 moby/moby#42060
  • 修正潛在的停滯任務 moby/moby#42060
  • 修正僅提供 --update-order--rollback-order 時,--update-order--rollback-order 旗標的問題 docker/cli#2963
  • 修正 docker service rollback 在某些情況下返回非零退出碼的問題 docker/cli#2964
  • 修正 docker service rollback 進度條方向不一致的問題 docker/cli#2964

20.10.3

2021-02-01

安全性

  • CVE-2021-21285 防止無效映像檔導致 Docker 常駐程式崩潰
  • CVE-2021-21284 鎖定檔案權限,以防止重新映射的 root 存取 Docker 狀態
  • 確保使用 BuildKit 建置時,應用 AppArmor 和 SELinux 設定檔

用戶端

  • 在導入上下文之前檢查上下文,以降低提取檔案逃逸上下文儲存的風險
  • Windows:防止從目前目錄執行某些二進位檔 docker/cli#2950

20.10.2

2021-01-04

執行時期

  • 修正常駐程式在還原帶有重啟策略但持續啟動失敗的容器時,啟動掛起的問題 moby/moby#41729
  • overlay2:修正當 data-root 長度為 24 位元組時,阻止建置或運行容器的差一位錯誤 moby/moby#41830
  • systemd:在關機時發送 sd_notify STOPPING=1 moby/moby#41832

網路

Swarm

  • 修正 replicated-jobglobal-job 服務模式的過濾問題 moby/moby#41806

打包

20.10.1

2020-12-14

建置器

打包

20.10.0

2020-12-08

棄用 / 移除

有關所有棄用功能的概述,請參閱「已棄用 Engine 功能」頁面。

API

  • 將 API 版本更新至 v1.41
  • metrics API 不需要「實驗性」功能 moby/moby#40427
  • GET /events 現在在資源清理完成後返回清理事件 moby/moby#41259
    • 清理事件針對 containernetworkvolumeimagebuilder 返回,並帶有 reclaimed 屬性,指示回收的空間量 (以位元組為單位)
  • 新增 one-shot 統計選項,不預先載入統計資訊 moby/moby#40478
  • 將作業系統版本資訊新增至系統資訊的 API (/info) moby/moby#38349
  • DefaultAddressPools 新增至 docker info moby/moby#40714
  • 為服務中的 PidsLimit 新增 API 支援 moby/moby#39882

建置器

用戶端

  • 為 CLI 新增 swarm 作業支援 docker/cli#2262
  • docker push 新增 -a/--all-tags 選項 docker/cli#2220
  • 新增對 Kubernetes 使用者名稱/密碼驗證的支援 docker/cli#2308
  • runcreate 指令新增 --pull=missing|always|never 選項 docker/cli#1498
  • docker exec 新增 --env-file 旗標,用於從檔案解析環境變數 docker/cli#2602
  • --tail 選項新增簡寫 -n docker/cli#2646
  • 為服務檢查「pretty」格式新增日誌驅動程式和選項 docker/cli#1950
  • docker run:使用 --cgroupns 指定 cgroup 命名空間模式 docker/cli#2024
  • docker manifest rm 指令用於從本機儲存中移除程式清單草稿 docker/cli#2449
  • 將「context」新增至「docker version」和「docker info」 docker/cli#2500
  • 將平台旗標傳播到容器建立 API docker/cli#2551
  • docker ps --format 旗標現在有一個 .State 佔位符,用於列印容器狀態,而不包含關於運行時間和健康檢查的額外詳細資訊 docker/cli#2000
  • 新增對 docker-compose schema v3.9 的支援 docker/cli#2073
  • 新增對 docker push --quiet 的支援 docker/cli#2197
  • 如果 BuildKit 已啟用,則隱藏 BuildKit 不支援的旗標 docker/cli#2123
  • 更新 docker rm -v 旗標說明,以澄清該選項僅移除匿名 (未命名) 磁碟區 docker/cli#2289
  • 改進 docker 服務的任務列印 docker/cli#2341
  • docker info:按字母順序列表 CLI 插件 docker/cli#2236
  • 修正 docker service update 指令中 --label-add/--label-rm--container-label-add/--container-label-rm--env-add/--env-rm 旗標的處理順序,以允許替換現有值 docker/cli#2668
  • 修正 docker rm --force 在一個或多個容器不存在時返回非零退出碼的問題 docker/cli#2678
  • 透過使用 total_inactive_file 而非 cache 來改進記憶體統計資訊顯示 docker/cli#2415
  • 緩解具有過度別名的 YAML 檔案問題 docker/cli#2117
  • 當僅使用源欄位設定配置或機密時,允許使用進階語法 docker/cli#2243
  • 修正即使 auth 為空,也能讀取包含使用者名稱和密碼驗證的配置檔案 docker/cli#2122
  • docker cp:防止在檢查目標失敗時出現 NPE 錯誤 docker/cli#2221
  • 配置:保留配置檔案的所有權和權限 docker/cli#2228

日誌記錄

  • 支援使用所有日誌驅動程式讀取 docker logs (盡力而為) moby/moby#40543
  • 新增 splunk-index-acknowledgment 日誌選項,以支援啟用索引確認的 Splunk HECs moby/moby#39987
  • 為 journald 日誌新增部分中繼資料 moby/moby#41407
  • 減少日誌檔案讀取器的記憶體分配 moby/moby#40796
  • Fluentd:新增 fluentd-asyncfluentd-request-ack,並棄用 fluentd-async-connect moby/moby#39086

執行時期

網路

打包

無根模式

安全性

  • 修正 CVE-2019-14271 在 Glibc 下的 chroot 環境中載入基於 nsswitch 的配置問題 moby/moby#39612
  • seccomp:將 clock_adjtime 加入白名單。時間調整仍需要 CAP_SYS_TIME moby/moby#40929
  • seccomp:將 openat2 和 faccessat2 新增至預設 seccomp 設定檔 moby/moby#41353
  • seccomp:允許在預設 seccomp 設定檔中使用 'rseq' 系統呼叫 moby/moby#41158
  • seccomp:允許 membarrier 系統呼叫 moby/moby#40731
  • seccomp:將 io-uring 相關的系統呼叫加入白名單 moby/moby#39415
  • 新增預設 sysctls,允許在沒有權限 (capabilities) 的情況下使用 ping sockets 和特權埠 moby/moby#41030
  • 修正 clone 系統呼叫的 seccomp 設定檔 moby/moby#39308

Swarm

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.