Podman 团队发布了 v6.0.0 正式版。这是一次网络基础设施全面换代的重大更新,同时改进了 machine 管理、Quadlet 和配置系统。

网络层是本次升级的核心。Podman 告别了 slirp4netns 和 iptables,全面转向 Netavark、Pasta 和 nftables。团队表示,这一迁移不仅是技术债清理,更意味着网络栈维护简化,未来可以在此基础上交付更复杂的网络功能。实验性功能 Pesto rootless 端口转发随版本上线,能够在 rootless 容器自定义网络上保留正确的源 IP。
podman machine 新增了 podman machine os update 命令,用于更新虚拟机环境。多供应商(provider)体验也做了统一,不同 VM 后端之间的切换更加平滑。
Quadlet 的进化同样显著:新增 REST API 支持、改进了关联文件的追踪、扩展了 .volume 单元的配置能力,还加了额外的搜索路径以便发行版打包。
配置文件处理也做了重构,主要面向多用户环境的管理员体验改善。
Hacker News 上关于该版本的更新讨论获得了 521 投票、203 条评论,讨论热烈但焦点不在新功能本身——更多人分享的是从 Docker 迁移到 Podman 的实战经验。
"前一阵 Docker Desktop 又莫名其妙狂吃内存,我们换到 Podman,安装完直接指向 docker-compose.yml,零改动就跑了,还不用常驻 daemon。好东西。"这条评论背后的情绪反复出现。多位用户表示迁移成本很低,尤其是配合 Quadlet 用 systemd 管理容器后,"家用服务器的功耗降了 8%。"
不过也有不少人遇到了兼容性坑。用户在切换时需要注意容器数据的 UID 权限问题——rootless Podman 下容器以不同 UID 运行,旧数据可能出现读写失败。compose 文件用户则可以通过 podman-compose 或直接让 docker compose 指向 Podman socket 来做过渡。
"怀念的不是 Docker,是 compose 文件作为系统无关文档的价值。"一条评论写道,"我能把 compose 文件丢给一个不懂开发的 IT 同事,他就能看懂每一行。K8s YAML 和 Quadlet 做不到这一点。"
几个值得注意的辅助项目在讨论中被提到:smolmachines 的微虚拟机 smolvm(基于 libkrun,与 Podman 共用底层)、podlet(compose 转 quadlet 的工具)、hetzner-podman-bunjs-deploy 模板项目等。
参考来源: