作為容器化技術的業界標準之一,Docker 在近期歷經了RC階段後,今天釋出了Docker Engine 29.2.0 的重要更新。本次更新不僅針對 Windows 環境與多平台架構(Multi-architecture)進行了顯著最佳化,更修補了數個在 2025 年末被揭露的潛在資安漏洞(CVE)。對於致力於 DevSecOps 的團隊而言,這是一個不容忽視的升級版本,不同於前幾天的維護版本,29.2.0 帶來了多項架構層級的改動,重點聚焦於軟體供應鏈安全(Supply Chain Security)的可視化,以及對複雜硬體資源管理的支援(NRI 與 NVIDIA CDI)。

CyberQ 實際部署了 Docker 29.2.0 在既有伺服器的實例中,以下是本次 Docker 29.2.0 的更新重點摘要:

供應鏈安全里程碑:全新的映像檔 Identity 欄位
在 29.2.0 中,docker inspect 指令新增了一個極為重要的欄位——Identity。這標誌著 Docker 在「可信賴內容(Trusted Content)」上邁出了關鍵一步。
功能詳解: 當你檢查一個 Image 時,Identity 欄位將顯示該映像檔的「可信賴來源資訊」。
本地構建 (Local Builds): 顯示 Build ref。
遠端拉取 (Pulled Images): 顯示遠端 Registry 的 Repository 資訊。
簽章驗證 (Verified Signatures): 這是最核心的部分。如果映像檔包含有效的簽署來源證明(Signed Provenance Attestation),這裡將會直接顯示驗證過的簽章資訊。
CyberQ 認為,這對於企業導入「零信任」架構是有幫助的,維運人員不再需要依賴第三方工具,直接透過 Docker Engine 就能確認映像檔是否遭到篡改或來源不明。
基礎架構進化,導入實驗性支援 NRI (Node Resource Interface)
為了更靈活地控制容器對宿主機資源的存取,Docker 29.2.0 正式引入了對 NRI (Node Resource Interface) 的實驗性支援。
什麼是 NRI? 這是一個讓容器執行時(Runtime)能夠對容器進行更細粒度資源調整的介面(例如 CPU pinning、記憶體分頁控制等),過去這通常是 Kubernetes 或 containerd 的進階戰場。
更新內容:
docker info 現在會顯示 NRI 相關區塊。
引擎內部新增了多項針對 NRI 的實驗性支援代碼。
AI 算力最佳化:透過 CDI 支援 NVIDIA GPU
針對 AI 與機器學習開發者,這次更新改進了 –gpus 參數的後端處理邏輯。
CDI 優先是當使用者執行帶有 –gpus 的指令時,如果環境支援,Docker 現在會優先嘗試使用 CDI (Container Device Interface) 來處理 NVIDIA 裝置的掛載。
這樣的好處是 CDI 是更標準化的裝置存取介面,這意味著未來在 Rootless 模式或非標準 Linux 發行版上,掛載 NVIDIA 顯示卡進行 AI 運算將變得更穩定且標準化。
核心組件與 API 升級
除了上述功能,引擎蓋底下的組件也迎來了常規升級:
BuildKit v0.27.0: 帶來更快的構建效能。
Containerd v2.2.1: 更新了靜態二進位檔案。
API 支援 gRPC: Docker Engine 現在原生支援在監聽 Socket 上使用 gRPC 協定,這為未來的 API 效能最佳化鋪平了道路。
Dockerd 驗證增強: dockerd –validate 參數現在不只檢查設定檔格式,還會一併檢查系統需求(System Requirements),讓你在啟動 Daemon 前就能發現環境問題。
Rootless 用戶注意事項
Rootless 改進: 在 Rootless 模式下搜尋 CDI 裝置時,現在會遵循 XDG 標準($XDG_CONFIG_HOME/cdi 與 $XDG_RUNTIME_DIR/cdi)。
資安修補:防堵 DoS 與憑證信任漏洞
在 DevOps 端關注的總是安全性,Docker 29 版本後,針對 Docker Engine 陸續有修復重要漏洞:
CVE-2025-61729 (DoS 風險),修復了在格式化主機名稱驗證錯誤(hostname validation errors)時,因過度資源消耗而可能導致的拒絕服務(Denial of Service)攻擊。這對於運行公開服務的容器環境至關重要。
CVE-2025-61727 (憑證信任問題),修正了對萬用字元 SAN(Subject Alternative Name)憑證中排除子網域約束的執行不當問題。此漏洞先前可能允許不被信任的憑證繞過驗證,升級後將嚴格執行驗證邏輯。
CLI 體驗升級讓映像檔列表「樹狀化」
對於每天要在終端機敲打指令的工程師來說,視覺化的改進最有感。在 29 版本後,docker image ls 指令預設採用了全新的視圖模式(類似之前的 –tree 參數但更為精簡)。此功能於 Docker Engine v29.0.0 (2025 年 11 月) 引入,預設為「collapsed tree」視圖,v29.2.0 包含此變更。

這項改變讓開發者能更直觀地看見映像檔層(Layers)與基礎映像檔(Base Images)之間的繼承關係,尤其在清理 dangling images(懸空映像檔)時,能更清楚判斷哪些層是可以安全移除的。
多平台映像檔管理更具彈性
隨著 ARM 架構伺服器(如 AWS Graviton)與 Apple Silicon 裝置的普及,跨平台構建已是常態。
docker image load 與 save 增強:現在這兩個指令正式支援 –platform 參數(例如:docker image load –platform linux/amd64,linux/arm64)。這意味著開發者在匯出或匯入 tar 封存檔時,可以精確指定要處理的 CPU 架構,不再需要為了單一架構而拉取整個 Manifest list,大幅節省傳輸時間與磁碟空間。
Windows 功能更新
29 版後更新對 Windows 使用者有幫助,解決了一些過往問題:
Windows 路徑清理: 為了清理技術債,官方正式移除了對 %PROGRAMDATA%\Docker\cli-plugins 路徑的支援。請確保你的 CLI Plugin 都已遷移至 %ProgramFiles%\Docker\cli-plugins。
CLI Plugin 路徑修正:修正了 Windows 上 CLI 插件的路徑問題,移除了過時的 %PROGRAMDATA% 路徑,全面轉向 %ProgramFiles%,減少了舊版安裝殘留導致的衝突。
支援 docker run –runtime:Windows 上的 Docker 現在支援在 run 指令中指定 runtime,這對於需要測試不同容器執行環境(如實驗性的 Windows runtime)的開發者是一大福音。
核心組件升級
在引擎蓋底下,Docker 29.2.0 也同步升級了其依賴的開源組件,以確保效能與穩定性:
BuildKit 升級至 v0.27.0:帶來更快的構建緩存處理。
Containerd 更新至 v2.2.1:提升了容器運行時的穩定性。
RootlessKit 更新至 v2.3.6:增強了非 root 模式下的權限管理。
建議開發者儘速升級
CyberQ 建議,Docker 29.2.0 雖然版號看似小幅更新,但其包含的 CVE 安全修復與多平台管理的便利性,使其成為一個必升的版本。
特別建議正在使用 Windows Docker Desktop 或在生產環境中依賴 BuildKit 進行 CI/CD 構建的團隊,應儘速安排測試並部署此更新,以確保開發環境的安全與效能。
如果要確保您的環境已更新至最新版本,可以下指令檢查
docker info | grep “Server Version”
目前官方 Docker Hub 的 library/docker 映像檔已更新至 29.2.0 標籤。
docker pull docker:29.2.0
或docker pull docker:latest,都能獲得新的體驗









