Docker Engine v29:containerd image store 成為新安裝預設值,圖驅動已棄用
Docker Blog · 2026-05-05
Docker Engine v29 將 containerd image store 設為新安裝(new installs)的預設儲存後端,正式棄用已使用多年的 graph driver(overlay2)架構,同時將最低支援 API 版本從 1.43 提升至 1.44,並將 Moby 的依賴管理從自有 vendoring 系統遷移至 Go modules。
containerd image store 與 graph driver 的差異
| 面向 | Graph Driver(棄用) | Containerd Image Store |
|---|---|---|
| 架構 | Docker 特有後端 | 業界標準 containerd |
| 映像層管理 | overlay2/devicemapper | Snapshotter 框架 |
| 內容定址 | 部分支援 | 完整內容定址儲存 |
| 未來功能 | 無 | lazy pulling、遠端內容儲存、P2P 分發 |
| Kubernetes 互通性 | 不一致 | 直接對齊 |
既有安裝不受影響——此變更僅適用於 v29 之後的全新安裝。現有環境若需遷移,可手動啟用 containerd image store 後再升級。Graph driver 在 v29 中仍可使用,但文件已明確標示為棄用,未來版本將予以移除。
API 版本下限提升
最低支援 API 版本從 1.43 升至 1.44(對應 Moby v25)。使用舊版 Docker SDK 或 CLI 的環境在連接 v29 daemon 時將收到錯誤:
Error response from daemon: client version 1.43 is too old.
Minimum supported API version is 1.44可透過 DOCKER_MIN_API_VERSION 環境變數或 daemon.json 的 min-api-version 設定降低下限,但這僅作為過渡期緩衝措施。
Moby 遷移至 Go modules
Moby(Docker Engine 的上游開源專案)完成從 legacy vendoring 到 Go modules(go.mod) 的遷移。對於直接使用 Docker Go API 的開發者而言,import 路徑已更新:
// 舊路徑(不再更新)
import "github.com/docker/docker"
// 新路徑
import "github.com/moby/moby"實驗性 nftables 防火牆後端
v29 引入實驗性 --firewall-backend=nftables 選項,讓 Docker 直接建立 nftables 規則,取代對 iptables 的依賴。目前尚不支援 Swarm 模式,不建議用於生產環境。
原始來源:Docker Blog — Docker Engine v29: Foundational Updates for the Future
Kubernetes v1.36 Alpha:Pod 層級資源管理器,延伸 CPU 與記憶體拓撲感知能力
Kubernetes Blog · 2026-05-01
Kubernetes v1.36 以 Alpha 階段引入 Pod-Level Resource Managers,將 kubelet 現有的 Topology Manager、CPU Manager 與 Memory Manager 的管理粒度從容器(Container)層級提升至 Pod 層級,讓效能敏感型工作負載能夠獲得更精細的 NUMA(Non-Uniform Memory Access)拓撲保證。
背景
現有的 kubelet 資源管理器是以容器為單位進行 CPU 核心綁定與 NUMA 節點對齊。對於多容器 Pod(如主應用程式容器 + sidecar),這會導致容器間的 CPU 與記憶體資源分散在不同 NUMA 節點,增加跨節點存取的延遲。對於 HPC(High-Performance Computing)、ML 推論、即時資料處理等工作負載,這是顯著的效能瓶頸。
核心改動
Pod-Level Resource Managers 在 kubelet 中引入一個協調層,在決定 CPU/記憶體分配前,先考量 Pod 內所有容器的整體資源需求,再進行拓撲對齊決策。這確保同一 Pod 的容器會被調度到相同 NUMA 域的 CPU 與記憶體上。
設定方式透過 kubelet 的 --cpu-manager-policy 與 --topology-manager-policy 參數控制,v1.36 新增對應的 podLevelResourceManagers feature gate。
影響範圍
此功能以 Alpha 階段發布,預設停用,需明確啟用 feature gate 才能測試。目標使用場景包括:
- GPU 加速推論(GPU 通常與特定 NUMA 節點的 CPU/記憶體共享 PCIe 頻寬)
- 即時音視訊處理(需要低且穩定的尾部延遲)
- 高頻交易與資料庫等 NUMA 敏感應用
原始來源:Kubernetes Blog — Kubernetes v1.36: Pod-Level Resource Managers (Alpha)