Podman 5.0.0 版本已经发布!这是我们两年来的第一个主要版本,包含了多项新功能和重大变更。Podman 5.0.0 版本对 Windows 和 Mac 上的 Podman 来说是一个非常重要的版本,它彻底重写了这些平台上的代码,并显著改进了两个平台上的管理程序支持。此外,它还包含许多其他功能,例如清单中对 OCI 工件的支持、默认切换到 Pasta 进行无根网络连接、对 containers.conf
配置文件进行改进,以及更多的功能和修复。请继续阅读以了解详细信息!
Podman 5 的主要功能,也是我们决定创建新主要版本的原因,是对 podman machine
命令的彻底重写。Podman 机器用于启动 Linux 虚拟机 (VM),允许 Windows 和 Mac 系统运行 Linux 容器。通过重写,我们提高了性能和稳定性,并显著增加了不同 VM 提供商之间的代码共享,使未来的维护和修复更加容易。我们还增加了对 Mac 上 Apple 虚拟机管理程序的支持,大大提高了 Mac 上的稳定性、启动时间和文件共享性能。通过新的 podman machine reset
命令,还可以轻松删除由 podman machine
管理的虚拟机。机器重写将要求现有用户将其虚拟机迁移到新的后端;您可以在此处阅读更多详细信息。
Podman 5 还包括一些弃用、默认设置的更改和改进。Pasta 现在是默认的无根网络后端,为无根 Podman 提供了显著改进的性能。自 Podman 4.4 版本以来,我们一直支持 Pasta,现在相信它的性能足以使其成为默认设置。我们还弃用了 BoltDB 数据库后端,并取消了创建新 Bolt 数据库的支持(现有数据库仍可正常使用)。SQLite 在 Podman 4.9 版本中成为新安装的默认数据库,大大提高了稳定性。
Podman 5 还取消了对大多数平台上的 CNI 网络的支持。我们在 Podman 4.0 中添加了我们自己的网络堆栈 Netavark,它在所有 Podman 用例中已经达到或超越了 CNI。我们正在取消 CNI 支持,原因在于它给团队带来了持续的支持负担,以及 CNI 未来计划改变其架构以专注于 Kubernetes,这将阻止 Podman 使用它。在一些仍需要 CNI 的发行版(例如 FreeBSD 和 RHEL 9)中,CNI 支持将保持启用状态。
containers.conf
配置文件的处理方式已更改,确保我们永远不会重写用户修改的配置文件——有关更多详细信息,请参见此处。我们还进行了一些更改以提高 Docker 兼容性,包括对 podman inspect
输出的细微更改,以更好地匹配 Docker。最后,我们已弃用对 cgroups v1 的支持,并将在未来的版本中取消在没有 cgroups v2 的系统上运行的能力。您可以在这篇博客中阅读有关所有重大更改的更多详细信息。
Podman 5.0.0 版本还包括其他几项改进。现在可以通过 --retry
和 --retry-delay
选项控制镜像拉取和推送的重试次数。Quadlet 增加了多项新功能,支持模板单元、容器组(通过 .pod 文件)以及 .container 文件中的多个附加键。最后,Podman 5.0.0 版本修复了数十个错误。您可以在发行说明中了解更多信息。
.
发表回复