Docker Engine 27 版本資訊

此頁面說明 Docker Engine 27 版本的最新變更、新增功能、已知問題及修復項目。

欲瞭解更多資訊關於

27.5

Docker Engine 27.5 系列版本的發布資訊。

27.5.1

2025-01-22

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

錯誤修正與增強功能

  • 修復了在預設橋接器初始化失敗後,可能持續導致常駐程式(daemon)無法啟動的問題。moby/moby#49307
  • 新增 DOCKER_IGNORE_BR_NETFILTER_ERROR 環境變數。將其設為 1 可允許在無法載入 br_netfilter 的主機上執行。部分功能將無法運作,包括停用橋接網路中的容器間通訊。若停用使用者空間代理(userland proxy),將無法從同一網路中的另一個容器存取某個容器已發布的埠口。moby/moby#49306

打包更新

27.5.0

2025-01-13

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

錯誤修復與功能增強

  • containerd 映像檔儲存庫:修復透過 tarball 將建構內容傳遞至 /build 端點的問題。moby/moby#49194
  • 沒有 keepStorage 值的建構器垃圾回收策略現在會正確繼承 defaultKeepStorage 限制。moby/moby#49137
  • 在常駐程式啟動期間保留網路標籤。moby/moby#49200
  • 修復刪除容器時可能發生的競爭條件(race condition)錯誤。moby/moby#49239

Go SDK

  • pkg/sysinfo:廢棄 NumCPU。此工具的行為與 runtime.NumCPU 相同。moby/moby#49247
  • pkg/fileutils:廢棄 GetTotalUsedFds:此函數僅內部使用,將於下一個版本移除。moby/moby#49209
  • pkg/ioutils:廢棄 BytesPipeNewBytesPipeErrClosedWriteCounterNewWriteCounterNewReaderErrWrapperNopFlusherNopWriterNopWriteCloser。這些僅內部使用,將於下一個版本移除。moby/moby#49246, moby/moby#49255
  • pkg/reexec:此套件已被廢棄並移至獨立模組。請改用 github.com/moby/sys/reexecmoby/moby#49135

打包更新

27.4

Docker Engine 27.4 系列版本的發布資訊。

27.4.1

2024-12-18

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

錯誤修正與增強功能

  • 修復未設定 OTel 時的過度記憶體配置問題。moby/moby#49079
  • docker info 指令及對應的 GET /info API 端點在常駐程式啟動時,若 bridge-nf-call-iptablesbridge-nf-call-ip6tables 被停用,將不再包含警告。br_netfilter 核心模組現在會在需要時嘗試載入,這使得之前的警告資訊變得不準確。moby/moby#49090
  • 嘗試載入核心模組(包括 ip6_tablesbr_netfilter),並採用在 Docker-in-Docker 容器內較可能成功的方式。moby/moby#49043
  • 修復導致 iptables DOCKER FILTER 鏈在失敗時未被清理的錯誤。moby/moby#49110

打包更新

27.4.0

2024-12-09

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

API

  • 啟用 manifests 選項的 GET /images/json 現在會保留清單在 manifest-index 中出現的原始順序。moby/moby#48712

錯誤修正與增強功能

  • 使用 jsonfilelocal 日誌驅動程式讀取日誌時,讀取或解析底層日誌檔的錯誤將導致跳過該檔案的剩餘部分並移至下一個日誌檔(如果存在),而不是向用戶端返回錯誤並關閉串流。錯誤可在 Docker 常駐程式日誌中查看,並在配置追蹤時匯出至追蹤資訊中。moby/moby#48842
  • 讀取日誌檔時,壓縮的日誌檔現在僅在需要時解壓縮,而不是在啟動日誌串流前解壓縮所有檔案。moby/moby#48842
  • 修復在停用 userland-proxy 且未載入並啟用核心 br_netfilter 模組的情況下,無法從同一網路中的另一個容器存取橋接網路上某個容器已發布埠口的問題。常駐程式現在會在建立網路時嘗試載入模組並啟用 bridge-nf-call-iptablesbridge-nf-call-ip6tablesmoby/moby#48685
  • 修復 bridgebr_netfilter 核心模組的載入。moby/moby#48966
  • containerd 映像檔儲存庫:修復 Docker 常駐程式在使用 containerd 快照程式且存在大量組建/映像檔時,因 "context deadline exceeded" 錯誤而無法完全啟動的問題。moby/moby#48954
  • containerd 映像檔儲存庫:修復未完全拉取的映像檔未被垃圾回收的問題。moby#48910, moby/moby#48957
  • containerd 映像檔儲存庫:修復 docker image inspectRepoDigests 中輸出重複參照的問題。moby/moby#48785
  • containerd 映像檔儲存庫:修復因非 TLS 相關錯誤導致 HTTPS 請求失敗時,無法連線至某些不安全登錄檔的問題。moby/moby#48758
  • containerd 映像檔儲存庫:移除在標記非懸空(dangling)映像檔時出現的混淆警告日誌。moby/moby#49010
  • containerd 映像檔儲存庫:不要在 docker image ls --tree 中為名稱加底線。docker/cli#5519
  • containerd 映像檔儲存庫:將 docker image ls --tree 中的 USED 欄位名稱改為 IN USEdocker/cli#5518
  • dockerd-rootless-setuptool.sh install --force 現在會忽略 RootlessKit 錯誤。moby/moby#48695
  • 停用橋接網路中橋接器所分配位址的 IPv6 重複位址檢測 (DAD)。moby/moby#48684
  • 移除 BuildKit 初始化逾時。moby/moby#48963
  • 在 ZFS 上移除資料集時忽略 "dataset does not exist" 錯誤。moby/moby#48968
  • Client:防止閒置連線洩漏檔案描述符(FD)。moby/moby#48764
  • 修復透過 --mount 選項建立的匿名磁碟區未被標記為匿名的问题。moby/moby#48755
  • 在使用 live-restore 重啟常駐程式後,確保 iptables 跳轉至 DOCKER-USER 鏈位於其他規則之前。moby/moby#48714
  • 修復由 OTel 計量器導致的潛在記憶體洩漏。moby/moby#48693
  • 為每個映像檔儲存庫建立不同的組建歷史記錄資料庫。moby/moby#48688
  • 修復在緊密迴圈中進行 DNS 解析時導致的過度記憶體使用問題。moby/moby#48840
  • 修復 docker run 期間無法取消映像檔拉取的問題。docker/cli#5654
  • docker logindocker logout 指令在憑證未變更時不再更新設定檔。docker/cli#5569
  • 最佳化 docker stats 以減少閃爍問題。docker/cli#5588, docker/cli#5635
  • 修復無法存取的插件路徑導致無法偵測到插件的問題。docker/cli#5652
  • 為 cobra 產生的 Shell 自動完成功能新增 events --filter 支援。docker/cli#5614
  • 修復 events --filter daemon= 的 bash 自動完成。docker/cli#5563
  • 改進 docker rm 的容器 Shell 自動完成功能。docker/cli#5540
  • --platform 旗標新增 Shell 自動完成功能。docker/cli#5540
  • rootless:使 /etc/cdi/var/run/cdi 可由容器裝置介面 (CDI) 整合存取。moby/moby#49027

已移除

  • 廢棄 Daemon.Exists()Daemon.IsPaused()。這些函數已不再使用,將於下一個版本移除。moby/moby#48719
  • 廢棄 container.ErrNameReservedcontainer.ErrNameNotReservedmoby/moby#48697
  • 廢棄 pkg/platform - 此套件僅內部使用,將於下一個版本移除。moby/moby#48863
  • 廢棄 RepositoryInfo.Class。此欄位已不再使用,將於下一個版本移除。moby/moby#49013
  • Go SDK:修復 cli/command.ConfigureAuth() 的廢棄提示,該函數自 v27.2.1 起被標記為廢棄。docker/cli#5552
  • Go SDK:廢棄 cli.Errors 類型,轉而使用 Go 的 errors.Joindocker/cli#5548

打包更新

27.3

Docker Engine 27.3 系列版本的發布資訊。

27.3.1

2024-09-20

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

錯誤修正與增強功能

  • CLI:修復指令執行指標無法正確匯出的問題。docker/cli#5457

打包更新

27.3.0

2024-09-19

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

錯誤修正與增強功能

  • containerd 映像檔儲存庫:修復 docker image prune -a 將由 digested 參照映像檔啟動的容器所使用的映像檔解除標記的問題。moby/moby#48488
  • 為常駐程式選項新增 --feature 旗標。moby/moby#48487
  • 更新了 --gpus=0 旗標的處理方式,使其與 NVIDIA Container Runtime 一致。moby/moby#48483
  • 支援 WSL2 鏡像模式網路使用 loopback0 介面處理來自 Windows 主機的封包。moby/moby#48514
  • 修復在 --iptables=false--ip6tables=true(預設)、且主機核心模組 br_netfilter 未正常載入,並存在針對轉發封包設有 DROP 規則的防火牆環境下,阻止 IPv4 橋接網路上容器間通訊的問題。moby/moby#48511
  • CLI:修復 docker volume update 指令在未傳遞引數/磁碟區時導致 CLI 崩潰的問題。docker/cli#5426
  • CLI:在 Windows 上的 WSL 環境中執行時正確報告指標。docker/cli#5432

打包更新

27.2

Docker Engine 27.2 系列版本的發布資訊。

27.2.1

2024-09-09

錯誤修正與增強功能

  • containerd 映像檔儲存庫:修復非容器映像檔在 docker image ls 輸出中被隱藏的問題。moby/moby#48402
  • containerd 映像檔儲存庫:改善映像檔平台不符時 docker pull 的錯誤訊息。moby/moby#48415
  • CLI:修復 docker login 未移除傳入登錄檔位址中的儲存庫名稱,導致憑證被存入錯誤金鑰的問題。docker/cli#5385
  • CLI:修復若 CLI 程序在等待使用者驗證時被暫停隨後恢復,導致瀏覽器登入流程失敗的問題。docker/cli#5376
  • CLI:docker login 若在非互動模式下以 --password--password-stdin 呼叫但未提供 --user,現在會返回錯誤而非掛起。docker/cli#5402

打包更新

27.2.0

2024-08-27

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

新增功能

此版本的新功能包括:

裝置代碼登入

此版本新增了在驗證 Docker Hub 時使用裝置代碼登入的支援。

您仍然可以使用傳統的使用者名稱/密碼或存取權杖(access token)登入,但裝置代碼登入更安全,且無需在 CLI 中輸入密碼。

device-code-login
裝置代碼登入

若要使用傳統方法,請使用 docker login -u <使用者名稱>

docker image ls 的多平台支援

實驗性功能

此為實驗性功能,可能會隨時變更且不保證向後相容。

在啟用 containerd 映像檔儲存庫後,docker image ls 指令(或 docker images 縮寫)現在支援 --tree 旗標,可顯示映像檔是否為多平台映像檔。

API

  • GET /images/json 回應現在包含 Manifests 欄位,其中包含映像檔索引中子清單的相關資訊,包括平台特定清單和建構證明等。

    新欄位僅在請求同時設定 manifests 查詢參數為 true 時才會被填入。

    實驗性功能

    此為實驗性功能,可能會隨時變更且不保證向後相容。

錯誤修正與增強功能

  • CLI:修復遠端 SSH 內容的問題,CLI 在連線至遠端主機時會分配偽終端(pseudo-TTY),這在極少數情況下會導致問題。docker/cli#5351
  • 修復阻止網路建立在 64 位元邊界結束的 --ip-range 的問題。moby/moby#48326
  • CLI:docker ps 顯示在埠口繫結中的 IPv6 位址現在會加上括號。docker/cli#5365
  • containerd 映像檔儲存庫:修復 docker load 在解壓縮映像檔失敗時過早退出錯誤的問題。moby/moby#48376
  • containerd 映像檔儲存庫:修復前一個映像檔在 docker pull 後未能持久保存為懸空映像檔的問題。moby/moby#48380

打包更新

已知問題

  • 在使用 Docker CLI (docker login [登錄檔位址]) 對登錄檔進行驗證時有一個已知問題:如果提供的登錄檔位址包含儲存庫/映像檔名稱(例如 docker login index.docker.io/docker/welcome-to-docker),則儲存庫部分(docker/welcome-to-docker)未被正規化,導致憑證以錯誤金鑰儲存,進而導致隨後的拉取操作(docker pull index.docker.io/docker/welcome-to-docker)無法通過驗證。為防止此情況,請在執行 docker login 時,不要在登錄檔位址中包含任何額外字尾。
    注意

    使用包含 URL 路徑片段的位址執行 docker login 並非記錄在案的使用案例,且不予支援。建議用法是僅指定登錄檔主機名稱,並選擇性地加上埠口,作為 docker login 的位址。

27.1

Docker Engine 27.1 系列版本的發布資訊。

27.1.2

2024-08-13

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

錯誤修正與增強功能

  • 修復從大型 Dockerfile 建構時可能導致 ResourceExhausted desc = grpc: received message larger than max 錯誤的迴歸問題。moby/moby#48245
  • CLI:修復 docker attach 錯誤地列印 context cancelled 錯誤訊息的問題。docker/cli#5296
  • CLI:修復 docker attachSIGINT 時退出,而非將訊號轉發至容器並等待其退出的問題。docker/cli#5302
  • CLI:修復 --device-read-bps--device-write-bps 選項未生效的問題。docker/cli#5339
  • CLI:修復執行插件時在某些情況下發生的崩潰。docker/cli#5337

打包更新

27.1.1

2024-07-23

安全性

此版本包含對 CVE-2024-41110 / GHSA-v23v-6jw2-98fq 的修復,該漏洞影響使用 授權插件 (AuthZ) 進行存取控制的設定。此版本不包含其他變更,對於未使用 AuthZ 插件的使用者而言,此版本與之前版本相同。

打包更新

27.1.0

2024-07-22

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

錯誤修正與增強功能

  • rootless:新增 Requires=dbus.socket 以防止在 systemd 的 cgroup v2 主機上啟動常駐程式時發生錯誤。moby/moby#48141
  • containerd 整合:使用 BuildKit 建構映像檔時,現在會正確發出 image tag 事件。moby/moby#48182
  • CLI:啟用 docker image rmdocker image historydocker image inspect 的 Shell 自動完成功能。moby/moby#5261
  • CLI:新增並改善各項旗標的 Shell 自動完成功能。moby/moby#5261
  • CLI:為 docker service createdocker stack 新增 OOMScoreAdj。docker/cli#5274
  • CLI:新增對 DOCKER_CUSTOM_HEADERS 環境變數的支援(實驗性)。docker/cli#5271
  • CLI:containerd 整合:修復在不支援的 API 版本上,docker push--platform 旗標預設為 DOCKER_DEFAULT_PLATFORM 環境變數值的問題。docker/cli#5248
  • CLI:修復 login 提示時的情境取消問題。docker/cli#5260
  • CLI:修復在連接至容器時發送終止請求至 CLI,會先等待容器退出後再關閉串流的問題。docker/cli#5250

已棄用

  • pkg/rootless/specconv 套件已被廢棄,並將於下一個版本移除。moby/moby#48185
  • pkg/containerfs 套件已被廢棄,並將於下一個版本移除。moby/moby#48185
  • pkg/directory 套件已被廢棄,並將於下一個版本移除。moby/moby#48185
  • api/types/system:移除已廢棄的 Info.ExecutionDrivermoby/moby#48184

打包更新

27.0

Docker Engine 27.0 發布資訊。

27.0.3

2024-07-01

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

錯誤修正與增強功能

  • 修復錯誤將從主機 IPv6 位址到僅 IPv4 容器的埠口映射回報為錯誤的迴歸問題。moby/moby#48090
  • 修復導致建立網路時重複分配子網路的迴歸問題。moby/moby#48089
  • 修復在系統支援使用者命名空間的原生 overlay 且啟用 rootless 模式時,嘗試拉取映像檔導致 fail to register layer: failed to Lchown 錯誤的迴歸問題。moby/moby#48086

27.0.2

2024-06-27

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

錯誤修正與增強功能

已移除

  • api/types:廢棄 ContainerJSONBase.Node 欄位和 ContainerNode 類型。這些定義曾被獨立(“經典”)Swarm API 使用,但從未在 Docker Engine 本身實作。moby/moby#48055

27.0.1

2024-06-24

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

新增功能

  • containerd 映像檔儲存庫:為 docker image push 新增 --platform 旗標,並在並非所有多平台映像檔的平台都在本地可用時,改善其預設行為。docker/cli#4984, moby/moby#47679
  • docker stack deploy 增設服務網路中 driver_opts 的支援。docker/cli#5125
  • 在以 docker- 為字首的名稱尋找使用者空間代理二進位檔時,將 /usr/local/libexec/usr/libexec 路徑納入考量。moby/moby#47804

錯誤修正與增強功能

  • *client.Client 執行個體現在保證在多個 goroutine 中並發使用時是安全的。先前,在使用 WithAPIVersionNegotiation() 選項時,可能會導致資料競爭。moby/moby#47961
  • 修復導致 Docker CLI 在某些情況下於 $TMPDIR 中洩漏 Unix Socket 的錯誤。docker/cli#5146
  • 在使用 --privileged 時,不忽略自訂的 seccomp 設定檔。moby/moby#47500
  • rootless:overlay2:在 Linux 核心 5.11 及更高版本中使用 rootless 模式時,支援原生 overlay diff。moby/moby#47605
  • 修復健康檢查的 StartInterval 預設值,使其反映記錄在案的 5 秒。moby/moby#47799
  • 修復當使用者使用 Ctrl+C 取消操作時,docker savedocker load 在常駐程式端未終止的問題。moby/moby#47629
  • 容器的 StartedAt 屬性現在記錄於容器啟動前,保證 StartedAt 永遠早於 FinishedAtmoby/moby#47003
  • Windows 上 Windows 容器使用的內部 DNS 解析器現在預設將請求轉發至外部 DNS 伺服器,這使得 nslookup 能夠解析外部主機名稱。此行為可透過 daemon.json 中的 "features": { "windows-dns-proxy": false } 來停用。此設定選項將於未來版本移除。moby/moby#47826
  • 在 CLI 沒有權限讀取設定檔時列印警告。docker/cli#5077
  • 修復容器連接時的 goroutine 和檔案描述符洩漏。moby/moby#45052
  • 在常駐程式啟動期間清除所有已停止或已死亡容器的網路狀態。moby/moby#47984
  • 以原子方式寫入磁碟區選項 JSON,以避免系統崩潰後出現「無效 JSON」錯誤。moby/moby#48034
  • 允許具有相同父項的多個 macvlan 網路。moby/moby#47318
  • 允許在宣告支援它的 Windows 常駐程式上使用 BuildKit。docker/cli#5178

網路

  • 允許在容器建立和網路連線期間為每個介面設定 sysctl。moby/moby#47686
    • 在未來版本中,這將是設定每個介面 sysctl 選項的唯一方式。例如在 docker run 指令列中,--network mynet --sysctl net.ipv4.conf.eth0.log_martians=1 將被拒絕。您必須改用 --network name=mynet,driver-opt=com.docker.network.endpoint.sysctls=net.ipv4.conf.IFNAME.log_martians=1
IPv6
  • ip6tables 不再是實驗性功能。若 IPv6 非其他功能所需,您可以移除 experimental 設定選項並繼續使用 IPv6。
  • ip6tables 現在預設為 Linux 橋接網路啟用。moby/moby#47747
    • 這使得 IPv4 和 IPv6 的行為保持一致,並降低了啟用 IPv6 的容器被意外暴露於網路的風險。
    • 如果您以啟用 ip6tables(新預設值)的方式執行 Docker Engine,則不會受到影響。
    • 如果您正在使用未啟用 ip6tables 的 IPv6 橋接網路,這可能是一個破壞性變更。只有已發布的容器埠口(-p--publish)可從 Docker 橋接網路外部存取,且外向連線會偽裝為主機。
    • 若要還原先前版本無 ip6tables 的行為,請在 daemon.json 中設定 "ip6tables": false,或使用 CLI 選項 --ip6tables=false。或者,保持啟用 ip6tables、發布埠口並啟用直接路由。
    • 在啟用 ip6tables 的情況下,如果 ip6tables 在您的主機上無法運作,Docker Engine 將啟動,但無法建立支援 IPv6 的網路。
IPv6 網路配置改進
  • 如果未手動設定 default-address-pools,或其中不包含 IPv6 首碼,則會自動新增唯一本地位址 (ULA) 的基本首碼。moby/moby#47853
    • 在此版本之前,若要建立 IPv6 網路,必須使用 --subnet 選項指定 IPv6 子網路,或將 IPv6 範圍加入 daemon.json 中的 default-address-pools
    • 從此版本開始,當使用 --ipv6 建立橋接網路且未透過選項定義 IPv6 子網路時,將使用 IPv6 唯一本地位址 (ULA) 基本首碼。
    • ULA 首碼衍生自 Engine 主機識別碼,以確保其在不同主機間及隨時間推移保持唯一。
  • 現在可將任意大小的 IPv6 位址集區加入 default-address-poolsmoby/moby#47768
  • 現在可透過在 daemon.json 中設定 "default-network-opts": { "bridge": {"com.docker.network.enable_ipv6": "true"}},或在指令列使用 dockerd --default-network-opt=bridge=com.docker.network.enable_ipv6=true,為所有自訂橋接網路預設啟用 IPv6。moby/moby#47867
  • 在啟用 ip6tables 的情況下,IPv6 網路的直接路由。moby/moby#47871
    • 新增橋接驅動程式選項 com.docker.network.bridge.gateway_mode_ipv6=<nat|routed>
    • 預設行為 nat 與先前啟用 ip6tables 的版本一致,將為每個已發布的容器埠口設定 NAT 和偽裝規則。
    • 當設定為 routed 時,不會為已發布埠口配置 NAT 或偽裝規則。若主機網路能將封包路由至容器位址,則啟用容器的直接 IPv6 存取。已發布埠口將在容器防火牆中開啟。
    • 當埠口對映僅適用於 routed 模式時,只允許 0.0.0.0:: 位址,且不得指定主機埠口。
    • 請注意,在 natrouted 模式下,若網路上已設定路由,已發布的容器埠口可從任何遠端位址存取,除非 Docker 主機的防火牆有額外限制。例如:docker network create --ipv6 -o com.docker.network.bridge.gateway_mode_ipv6=routed mynet
    • 選項 com.docker.network.bridge.gateway_mode_ipv4=<nat|routed> 同樣可用,且行為相同,但針對 IPv4。
  • 若主機上正在執行 firewalld,Docker 會建立 docker-forwarding 策略以允許從任何區域轉發至 docker 區域。這使得配置具有可路由 IPv6 位址且無 NAT 或偽裝的橋接網路成為可能。moby/moby#47745
  • 當發布埠口且未指定主機埠口,或給定主機埠口範圍時,將為 IPv4 和 IPv6 分配相同的埠口。moby/moby#47871
    • 例如,-p 80 將導致為 0.0.0.0:: 分配相同的臨時埠口,而 -p 8080-8083:80 將從範圍中為兩種位址系列挑選相同的埠口。
    • 同樣地,發布至特定位址的埠口將被分配相同的埠口。例如,-p 127.0.0.1::80 -p '[::1]::80'
    • 如果所有必需位址上都沒有可用埠口,容器建立將失敗。
  • 環境變數 DOCKER_ALLOW_IPV6_ON_IPV4_INTERFACE(於 26.1.1 版本引入)不再有任何作用。moby/moby#47963
    • 先前,若因唯讀 /proc/sys/net 而無法在介面上停用 IPv6,該環境變數允許容器仍能啟動。
    • 在此版本中,若無法為介面停用 IPv4,可僅透過建立網路時使用 --ipv6 明確為網路啟用 IPv6。其他替代方案包括將 OS 設定為預設在新介面上停用 IPv6、掛載讀寫權限的 /proc/sys/net,或使用無 IPv6 支援的核心。
  • 對於已啟用 IPv6 的橋接網路,不要嘗試以 fe80::1 取代橋接器核心分配的連結本地位址。moby/moby#47787

已移除

  • 廢棄實驗性 GraphDriver 插件。moby/moby#48050, docker/cli#5172
  • pkg/archive:廢棄 NewTempArchiveTempArchive。這些類型僅用於測試,將於下一個版本移除。moby/moby#48002
  • pkg/archive:廢棄 CanonicalTarNameForPathmoby/moby#48001
  • 廢棄 pkg/dmesg。此套件已不再使用,將於下一個版本移除。moby/moby#47999
  • 廢棄 pkg/stringid.ValidateIDpkg/stringid.IsShortIDmoby/moby#47995
  • runconfig:廢棄 SetDefaultNetModeIfBlank 並將 ContainerConfigWrapper 移至 api/types/containermoby/moby#48007
  • runconfig:廢棄 DefaultDaemonNetworkMode 並移至 daemon/networkmoby/moby#48008
  • runconfig:廢棄 opts.ConvertKVStringsToMap。此工具已不再使用,將於下一個版本移除。moby/moby#48016
  • runconfig:廢棄 IsPreDefinedNetworkmoby/moby#48011

API

  • containerd 映像檔儲存庫:POST /images/{name}/push 現在支援 platform 參數(JSON 編碼的 OCI Platform 類型),允許從多平台映像檔中選取特定平台清單。這是實驗性功能,未來 API 版本可能會變更。moby/moby#47679
  • POST /services/createPOST /services/{id}/update 現在支援 OomScoreAdjmoby/moby#47950
  • ContainerList API 現在返回容器註釋(annotations)。moby/moby#47866
  • POST /containers/createPOST /services/create 現在將 Options 作為 HostConfig.Mounts.TmpfsOptions 的一部分,允許為 tmpfs 掛載設定選項。moby/moby#46809
  • 使用小於 v1.44 的 API 版本更新 Swarm 服務時,Healthcheck.StartInterval 屬性現在會被正確忽略。moby/moby#47991
  • GET /events 現在支援映像檔 create 事件,該事件在建構新映像檔時發出,無論是否已標記。moby/moby#47929
  • GET /info 現在包含一個 Containerd 欄位,其中包含有關 containerd API socket 位置的資訊,以及常駐程式用來執行容器和插件的 containerd 命名空間。moby/moby#47239
  • 廢棄映像檔檢查輸出中的非標準 (config) 欄位。此端點回傳的 Config 欄位(用於 docker image inspect)先前返回了額外欄位,這些欄位並非 Docker Image SpecOCI Image Spec 的一部分。這些欄位永遠不會被設定(且總是返回該類型的預設值),但在留空時並未從回應中省略。由於這些欄位不屬於映像檔配置回應,因此已被廢棄,將於未來的 API 版本中移除。
  • 廢棄常駐程式旗標 --api-cors-header 及對應的 daemon.json 設定選項。這些將於下一個主要版本中移除。moby/moby#45313

以下已廢棄欄位目前包含在 API 回應中,但不屬於底層映像檔的 Configmoby/moby#47941

  • Hostname
  • Domainname
  • AttachStdin
  • AttachStdout
  • AttachStderr
  • Tty
  • OpenStdin
  • StdinOnce
  • Image
  • NetworkDisabled (除非已設定,否則已省略)
  • MacAddress (除非已設定,否則已省略)
  • StopTimeout (除非已設定,否則已省略)

Go SDK 變更

  • 以下函數的 Client API 回呼現在需要 context 參數。moby/moby#47536
    • client.RequestPrivilegeFunc
    • client.ImageSearchOptions.AcceptPermissionsFunc
    • image.ImportOptions.PrivilegeFunc
  • 移除已廢棄的 Image 類型別名。moby/moby#47900
    • ImageImportOptions
    • ImageCreateOptions
    • ImagePullOptions
    • ImagePushOptions
    • ImageListOptions
    • ImageRemoveOptions
  • github.com/docker/go-units.Ulimit 引入 Ulimit 類型別名。API 中使用的 Ulimit 類型定義在一個未來將過渡至新位置的 Go 模組中。引入類型別名是為了減少因移動類型位置而帶來的摩擦。別名確保現有程式碼繼續運作,但其定義在未來可能會變更。建議使用者改用此別名,而非直接使用 units.Ulimitmoby/moby#48023

移動並重新命名類型,變更其匯入路徑與導出名稱。moby/moby#47936, moby/moby#47873, moby/moby#47887, moby/moby#47882, moby/moby#47921, moby/moby#48040

  • 將以下類型移至 api/types/container
    • BlkioStatEntry
    • BlkioStats
    • CPUStats
    • CPUUsage
    • ContainerExecInspect
    • ContainerPathStat
    • ContainerStats
    • ContainersPruneReport
    • CopyToContainerOptions
    • ExecConfig
    • ExecStartCheck
    • MemoryStats
    • NetworkStats
    • PidsStats
    • StatsJSON
    • Stats
    • StorageStats
    • ThrottlingData
  • 將以下類型移至 api/types/image
    • ImagesPruneReport
    • ImageImportSource
    • ImageLoadResponse
  • ExecStartOptions 類型移至 api/types/backend
  • VolumesPruneReport 類型移至 api/types/volume
  • EventsOptions 類型移至 api/types/events
  • ImageSearchOptions 類型移至 api/types/registry
  • 移除 Network 前綴並將以下類型移至 api/types/network
    • NetworkCreateResponse
    • NetworkConnect
    • NetworkDisconnect
    • NetworkInspectOptions
    • EndpointResource
    • NetworkListOptions
    • NetworkCreateOptions
    • NetworkCreateRequest
    • NetworksPruneReport
  • NetworkResource 移至 api/types/network

打包更新

27.0.0

GitHub 上 v27.0.0-rc.1 的預發布過程中發生錯誤,導致 v27.0.0 標籤被建立,因此沒有 27.0.0 正式版。不幸的是,該標籤已被 Go Module Mirror 獲取,因此無法乾淨地更改 v27.0.0。為了解決此問題,27.0.1 將成為 27.0 的第一個版本。

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