Docker 官方於本週發布了 Docker Engine 的最新維護版本 29.1.5。作為 29.1 系列的持續修正版本,本次更新雖然內容不多,但針對生產環境的穩定性,特別是容器生命週期管理與底層安全性,有改善與幫助。對於執行關鍵微服務架構的團隊而言,也是需要更新的版本。

以下是本次更新的內容:
網路層關鍵修復,確保「優雅關閉」不再掉線
在容器化應用程式的維運中,「優雅關閉」(Graceful Shutdown)是確保資料完整性的黃金法則。當我們停止一個容器時,通常會先發送 SIGTERM 信號,給予應用程式一段「寬限期」(Grace Period,預設通常為 10 秒),讓應用程式能處理完手上的請求、寫入日誌或斷開資料庫連線,最後才強制關閉。
然而,在之前的版本中出現了一個令人頭痛的回歸錯誤(Regression):在容器進入關閉的寬限期時,已建立的網路連線(Established Connections)可能會被意外中斷。即便你的應用程式設計了完美的關閉邏輯,網路層的提早斷線仍可能導致正在處理中的請求失敗(例如 API 回傳 502 錯誤或資料寫入不完全)。
Docker 29.1.5 修復了這個問題(moby/moby#51843)。
影響範圍: 所有依賴長連接處理事務、或需要在關閉前完成最後資料傳輸的容器服務。
修正後行為: 在容器收到停止信號後的寬限期內,現有的網路連線將保持暢通,直到應用程式自行關閉或寬限期結束,真正落實了優雅關閉的定義。
底層組件更新:Go Runtime 升級至 1.25.6
除了功能性修復,Docker 團隊也針對底層架構進行了例行性的安全與效能維護。
更新內容: 將 Docker 的 Go 語言執行環境(Runtime)從舊版升級至 Go 1.25.6。
雖然這是使用者在操作層面無感的更新,但從資安與穩定性角度來看有其必要性。Go 1.25.6 包含了 Go 語言官方針對標準庫的錯誤修復與潛在的安全更新檔。由於 Docker Engine 本身是由 Go 撰寫,保持 Runtime 的更新是防範記憶體相關漏洞及提升執行效率的基礎工作。
相關資源與鏈接
本次發布涉及 Docker CLI 與 Moby(Docker Engine 的開源專案)的變更,詳細的 Pull Requests 與問題追蹤可參考以下官方資料:
Moby (Engine) 變更紀錄: GitHub Milestone 29.1.5
具體修復程式碼資訊: moby/moby#51860, docker/cli#6750
CyberQ 建議如果你目前的生產環境正在執行 Docker 29.x 系列,且應用程式對連線穩定性高度敏感(例如金融交易、即時通訊服務),建議儘速安排升級至 29.1.5,以避免在服務重啟或部署滾動更新(Rolling Update)期間發生預期外的連線中斷。









