我们很高兴地宣布发布 Podman 5.6,其中包含大量重大新特性和改进,进一步提升了容器管理体验。此版本在 Quadlet 管理方面进行了实质性更新,增强了远程客户端功能,并带来了诸多易用性方面的改进。
Quadlet 管理
Podman 5.6 最重要的更新之一是新增了一套 Quadlet 管理命令,使得处理 systemd 风格的容器单元变得前所未有的简单
podman quadlet install– 为当前用户安装新的 Quadletpodman quadlet list– 列出所有已安装的 Quadletpodman quadlet print– 显示 Quadlet 文件的内容podman quadlet rm– 删除现有的 Quadlet
增强的 Quadlet 配置
这些命令简化了 Quadlet 的工作流程,不过目前仅适用于本地 Podman 安装(远程支持将在未来版本中推出)。
Quadlet 单元在所有单元类型中都获得了显著的功能提升
容器单元 (.container)
- 现在可以指定不带值的环境变量,运行时将自动从主机获取值
Pod 单元 (.pod)
- 新增
Label=键,用于设置 pod 标签 - 新增
ExitPolicy=键,用于配置 pod 退出行为
镜像单元 (.image)
- 新增
Policy=键,用于控制拉取策略(始终拉取、仅在有更新时拉取等)
网络单元 (.network)
- 新增
InterfaceName=键,用于指定自定义网络接口名称
机器与虚拟化增强
交换空间 (Swap) 支持
podman machine init 命令现已支持 --swap 选项,允许您在虚拟机中启用并配置以 MB 为单位的交换空间大小。
Apple Silicon 改进
对于运行 macOS 15+ 的 M3+ 主机,在使用 libkrun 提供程序时现已默认启用嵌套虚拟化,从而提高了性能和兼容性。
Kubernetes 集成改进
Podman 5.6 通过多项 podman kube play 的改进增强了 Kubernetes 的兼容性
- 资源控制:新增注解
io.podman.annotations.cpuset/$ctrname和io.podman.annotations.memory-nodes/$ctrname,允许对 CPU 核心和内存节点进行精确限制 - 生命周期管理:支持 Pod YAML 中的
lifecycle.stopSignal字段,用于自定义容器停止信号 - 空 Pod 支持:修复了此前会导致失败的空 pod 处理问题
远程客户端增强
远程 Podman 客户端获得了强大的新功能,使其在功能上更接近本地安装版本
- OCI Artifacts:提供完整的
podman artifact命令套件,用于与 OCI 工件进行交互 - 卷操作:支持
podman volume import和podman volume export命令 - 构建上下文:
podman build支持--build-context选项
新的命令选项与灵活性
卷创建
podman volume create中新增--uid和--gid选项,用于设置所有权
挂载增强
--mount选项现在接受dest=作为destination=的别名--mount type=artifact支持name=选项,用于自定义工件文件名--tmpfs支持新的noatime选项,用于性能优化
Docker 兼容性
Podman 5.6 引入了 podman buildx inspect 命令,方便从 Docker 过渡的用户维持熟悉的工作流程。
BoltDB 弃用
作为持续改进的一部分,Podman 5.6 针对仍在使用 BoltDB 数据库的安装环境加入了警告。BoltDB 将在 Podman 6.0 中被移除。虽然这些警告默认尚未显示(将在 5.7 中加入),但建议用户开始使用新的数据库后端。
Apple Silicon 上的 Rosetta
由于最新 Linux 内核与 Apple Rosetta 之间存在不兼容性,我们不得不在 Podman 5.6 中默认禁用 Rosetta。机器翻译仍由 QEMU 完成。请参阅我的博客以获取有关 Rosetta 情况的总结。
获取 Podman 5.6
Podman 5.6 现已通过所有标准发行渠道提供。有关完整的发行说明、安装说明及详细的功能文档,请访问官方发布页面。
OCI 工件命令现已被视为稳定功能,这标志着 Podman 作为综合容器管理平台又迈出了重要一步。
有关 Podman 5.6 的更多信息及详细的技术规范,请参阅 GitHub 上的完整发行说明。


发表回复