Docker Engine 26.0 發行說明

此頁面描述了 Docker Engine 26.0 版本的最新變更、新增功能、已知問題和修復。

欲瞭解更多資訊關於

26.0.2

2024-04-18

如需此版本中所有拉取請求和變更的完整列表,請參閱相關的 GitHub 里程碑

安全性

此版本包含 CVE-2024-32473 的安全修復,此問題涉及 IPv4-only 介面上 IPv6 的意外配置。

錯誤修正與增強功能

26.0.1

2024-04-11

如需此版本中所有拉取請求和變更的完整列表,請參閱相關的 GitHub 里程碑

錯誤修正與增強功能

  • 修復導致網路介面專屬的 --sysctl 選項阻礙容器啟動的迴歸問題。moby/moby#47646
  • docker save 輸出中移除映像 config OCI 描述符中錯誤的 platformmoby/moby#47694
  • containerd 映像儲存:docker save 產生的 OCI 存檔現在將在 index.json 中包含非空的 mediaType 欄位。moby/moby#47701
  • 修復導致內部解析器無法將來自 IPvlan L3 網路的請求轉發到外部解析器的迴歸問題。moby/moby#47705
  • 阻止在未指定父介面而建立的 IPvlan 和 Macvlan 網路中使用外部解析器。moby/moby#47705

打包更新

26.0.0

2024-03-20

如需此版本中所有拉取請求和變更的完整列表,請參閱相關的 GitHub 里程碑

安全性

此版本包含 CVE-2024-29018 的安全修復,該問題涉及透過權威 DNS 伺服器從「內部」網路潛在的資料外洩。

新增功能

  • Subpath 欄位新增至 VolumeOptions,使得掛載磁碟區的子路徑成為可能。moby/moby#45687
  • volume-subpath 支援新增至掛載旗標 (--mount type=volume,...,volume-subpath=<subpath>)。docker/cli#4331
  • docker stack deploy 的 compose 檔案中接受 = 分隔符號和 [ipv6]docker/cli#4860
  • rootless:新增對透過將 DOCKERD_ROOTLESS_ROOTLESSKIT_DISABLE_HOST_LOOPBACK 環境變數設定為 false (預設為 true) 來啟用主機迴路的功能支援。這使得容器能夠使用 IP 位址 10.0.2.2 連接到主機。moby/moby#47352
  • containerd 映像儲存:docker image ls 不再為多平台映像建立重複項目。moby/moby#45967
  • containerd 映像儲存:發送 Prometheus 指標。moby/moby#47555

錯誤修正與增強功能

  • CVE-2024-29018:對於僅連接到「內部」網路的容器,不要將請求轉發到外部 DNS 伺服器。以前,如果主機的 DNS 伺服器在迴路位址 (例如 systemd 的 127.0.0.53) 上運行,則請求會被轉發。moby/moby#47589

  • 確保容器重新啟動時不還原生成的 MAC 位址,但保留已配置的 MAC 位址。moby/moby#47233

    警告

    使用 Docker Engine 25.0.0 建立的容器可能具有重複的 MAC 位址,必須重新建立。使用版本 25.0.0 或 25.0.1 建立並帶有使用者定義 MAC 位址的容器,在使用 25.0.2 啟動時將獲得生成的 MAC 位址。它們也必須重新建立。

  • 始終嘗試在容器的迴路介面上啟用 IPv6,並且只有在成功時才將 IPv6 包含在 /etc/hosts 中。moby/moby#47062

    注意

    預設情況下,當容器未連接到啟用 IPv6 的網路時,IPv6 將保持在容器的迴路介面上啟用。例如,僅連接到純 IPv4 網路的容器現在在其迴路介面上具有 ::1 位址。

    若要停用容器中的 IPv6,請在 createrun 命令中使用選項 --sysctl net.ipv6.conf.all.disable_ipv6=1,或在 Compose 檔案的服務配置部分中使用等效的 sysctls 選項。

    如果容器中沒有可用的 IPv6,因為它已為容器明確停用,或者主機的網路堆疊沒有啟用 IPv6 (或任何其他原因),則容器的 /etc/hosts 檔案將不包含 IPv6 項目。

  • 修復當解壓縮包含擴展屬性 (xattrs) 的存檔到不支援它們的檔案系統時,ADD Dockerfile 指令失敗並顯示 lsetxattr <file>: operation not supported 的問題。moby/moby#47175

  • 修復 docker container start--checkpoint 一起使用時失敗的問題。moby/moby#47456

  • 恢復主機和內部橋接網路上的容器之間的 IP 連線。moby/moby#47356

  • 不對現有的 swarm 網路強制執行新的驗證規則。moby/moby#47361

  • 恢復 Windows 上預設「nat」網路中容器的 DNS 名稱。moby/moby#47375

  • 當使用模稜兩可的參數調用 docker image ls 時,列印提示。docker/cli#4849

  • 清理 OpenBSD 上的 @docker_cli_[UUID] 檔案。docker/cli#4862

  • 當使用沒有 TLS 的遠端 TCP 連線時,新增明確的棄用通知訊息。docker/cli#4928moby/moby#47556

  • 使用主機 resolv.conf 中的 IPv6 名稱伺服器作為 Docker Engine 內部 DNS 的上游解析器,而不是將它們列在容器的 resolv.conf 中。moby/moby#47512

  • containerd 映像儲存:當使用 --userns-remap 選項時,隔離具有不同 containerd 命名空間的映像。moby/moby#46786

  • containerd 映像儲存:修復映像拉取未發出 Pulling fs layer 狀態的問題。moby/moby#47432

API

  • 為了保持向下相容性,當使用較舊的客戶端 (API 版本 < v1.44) 時,唯讀掛載預設不是遞迴的。moby/moby#47391
  • 如果映像配置中缺少 Created 欄位,GET /images/{id}/json 會省略 Created 欄位 (以前是 0001-01-01T00:00:00Z)。moby/moby#47451
  • 對於 API 版本 <= 1.43,在 GET /images/{id}/json 中用 0001-01-01T00:00:00Z 填充缺少的 Created 欄位。moby/moby#47387
  • POST /images/search 端點結果中的 is_automated 欄位現在始終為 false。因此,搜尋 is-automated=true 將不會產生任何結果,而 is-automated=false 將不執行任何操作。moby/moby#47465
  • GET /images/{name}/json 回應中移除 ContainerContainerConfig 欄位。moby/moby#47430

打包更新

已移除

  • GET /images/{name}/json 回應中移除 ContainerContainerConfig 欄位。moby/moby#47430

  • 棄用接受不帶 TLS 的遠端 TCP 連線的功能。棄用通知 docker/cli#4928 moby/moby#47556

  • 移除已棄用的 API 版本 (API < v1.24) moby/moby#47155

  • 預設情況下停用已棄用映像格式的拉取。這些映像格式已棄用,並將在未來版本中移除支援。moby/moby#47459

  • 映像:移除已棄用的 IDFromDigest moby/moby#47198

  • 移除已棄用的 github.com/docker/docker/pkg/loopback 封裝。moby/moby#47128

  • pkg/system:移除已棄用的 ErrNotSupportedOperatingSystemIsOSSupported moby/moby#47129

  • pkg/homedir:移除已棄用的 Key() 和 GetShortcutString() moby/moby#47130

  • pkg/containerfs:移除已棄用的 ResolveScopedPath moby/moby#47131

  • daemon 旗標 --oom-score-adjust 在 v24.0 中已棄用,現已移除。moby/moby#46113

  • 從 api/types 封裝中移除已棄用別名。這些類型在 v25.0.0 中已棄用,該版本提供了臨時別名。moby/moby#47148 這些別名現已移除:types.Infotypes.Committypes.PluginsInfotypes.NetworkAddressPooltypes.Runtimetypes.SecurityOpttypes.KeyValuetypes.DecodeSecurityOptionstypes.CheckpointCreateOptionstypes.CheckpointListOptionstypes.CheckpointDeleteOptionstypes.Checkpointtypes.ImageDeleteResponseItemtypes.ImageSummarytypes.ImageMetadatatypes.ServiceUpdateResponsetypes.ServiceCreateResponsetypes.ResizeOptionstypes.ContainerAttachOptionstypes.ContainerCommitOptionstypes.ContainerRemoveOptionstypes.ContainerStartOptionstypes.ContainerListOptionstypes.ContainerLogsOptions

  • cli/command/container:移除已棄用的 NewStartOptions() docker/cli#4811

  • cli/command:移除已棄用的 DockerCliOptionInitializeOpt docker/cli#4810

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