用心打造
VPS知识分享网站

Docker Engine 29发布:Containerd成为默认镜像存储,实验性支持nftables

Docker 正式发布 Docker Engine 29,这是一次重要的现代化更新,不仅让 Docker 更好地对齐当今主流容器生态,也进一步简化了底层架构。

本次版本的最大亮点是:

containerd 镜像存储正式成为 Docker Engine 的默认选项

这一变化在社区中早有预期,但在官方落地后,意义依旧不小。

Docker Engine 29发布:Containerd成为默认镜像存储,实验性支持nftables

一、containerd 镜像存储成为默认设置

尽管 containerd 早已是 Docker 的核心运行时,但过去 Docker 在镜像管理上仍依赖自己的本地存储系统(graphdriver)。此次改动意味着:

  • Docker 在 运行时存储层 都完全依托 containerd
  • 架构更统一,运维逻辑更一致
  • 与 Kubernetes、CRI 等 containerd 生态无缝对齐

对用户的实际好处:

🔹 架构简化:运行时与镜像系统同属 containerd,更少的复杂度、冗余逻辑更少
🔹 兼容性提升:更好地融入以 containerd 为中心的一整套工具链
🔹 未来能力增强:支持快照优化、延迟拉取(lazy pulling)、P2P 镜像分发等新特性

需要注意的是:

  • 已有 Docker 安装不会被强制迁移
  • 新安装 & 全新系统将默认启用 containerd 镜像存储

二、实验性支持 nftables(未来将逐步取代 iptables)

随着越来越多 Linux 发行版弃用 iptables,Docker 也开始向 nftables 过渡。

Docker Engine 29 引入了实验性功能:

直接使用 nftables 生成网络规则,而不再通过 iptables-nft 进行兼容层转换。

启用方式:

dockerd --firewall-backend=nftables

⚠ 注意事项:

  • 功能仍属 实验阶段
  • 不建议在生产环境启用
  • 后续版本将继续优化并计划支持 Docker Swarm

这标志着 Docker 正式迈向更现代的网络防火墙体系。

三、底层迁移:Moby 项目全面转向 Go Modules

Docker Engine 的开源核心项目 Moby 已正式迁移至 Go Modules,替换旧的依赖管理方式。这一改动虽不直接影响用户,但对:

  • 开发者贡献流程
  • 构建系统
  • 包管理与版本可控性

具有重要意义。

四、API 兼容性变化:最低版本升级到 1.44

Docker Engine 29 将最低支持 API 版本提升至 1.44(对应 Moby v25)。

这意味着:

  • Docker 客户端 v25 以下版本将无法连接 Docker Engine 29
  • 老旧客户端需升级才能正常操作

对于使用 CI/CD 或自动化脚本的团队,应重点确认兼容性。

五、更多更新:错误修复与改进

除上述重大变更外,Docker Engine 29 包含大量细节修复与优化,涵盖:

  • 网络
  • 存储
  • CLI 行为
  • 安全策略
  • 性能优化

详情可参考官方变更日志发行公告

六、如何升级?

Linux 用户

直接通过发行版的软件仓库更新至 Docker Engine 29。

Docker Desktop 用户

将随 Docker Desktop 的后续版本自动获得更新。

总结

Docker Engine 29 是一次“对生态友好”的版本:

  • containerd 完整接管镜像存储 → 与云原生体系更一致
  • nftables 支持 → 走向更现代的 Linux 网络架构
  • API、构建系统全线升级 → 为未来功能打好基础

对于开发者和运维团队而言,这次更新进一步巩固了 Docker 在容器引擎领域的核心地位,同时也预示着未来功能的大规模扩展。

赞(0)
未经允许不得转载;国外VPS测评网 » Docker Engine 29发布:Containerd成为默认镜像存储,实验性支持nftables
分享到