Podman 是一个无需守护进程的工具,用于管理兼容 OCI 的容器,并且具有与 Docker 兼容的命令行界面。最近,Podman 发布了最新版本 5.2,为用户带来了多项重要更新。
MacOS 用户的重大更新
Podman 5.2 的最大亮点是针对 MacOS 用户。新版本引入了对 libkrun 作为后端的支持,允许用户创建虚拟机,从而方便 GPU 集成以加速任务。虽然 applehv 仍然是默认后端,但这一新增功能为需要进行密集计算工作的用户提供了更多的实用性和灵活性。
Quadlet 功能扩展
Podman 的相关工具 Quadlet 也进行了扩展,现在支持“.build”文件。这意味着用户可以直接在 Quadlet 中构建镜像,简化了容器操作流程。此外,对“.container”和“.pod”文件的增强包括添加了如 LogOpt 和 StopSignal 等新字段,提供了更细致的容器配置控制。
新的系统检查和重置命令
Podman 5.2 还引入了 podman system check 命令,可以检测并修复本地容器存储中的损坏问题。podman machine reset 命令现在扩展为可以重置给定操作系统上所有可用的提供程序,确保彻底清理系统。
Linux 内核要求和性能改进
Podman 5.2 现在需要 Linux 内核 5.2 或更高版本,因为它依赖新的内核挂载 API。这是一个显著的依赖更新,可能会影响兼容性。此外,从 9p 到 virtiofs 的转换用于在虚拟机中挂载主机文件系统,承诺提高性能和可靠性,解决了过去主机挂载的问题。
Bug 修复
此次更新解决了 24 个 Bug,包括修复了 –sdnotify=healthy 选项在无根容器中引起的崩溃问题,以及 podman play kube 命令未正确清理网络堆栈的问题。
镜像构建 API 的改进
Podman 的镜像构建 API 现在支持在单个 API 调用中为多个架构构建镜像。此外,还修正了多个端点以改善错误处理和响应准确性。
总结
Podman 5.2 带来了重要的更新和改进,特别是为 MacOS 用户提供了更多灵活性和性能提升。新的系统检查和重置命令、Quadlet 的功能扩展以及镜像构建 API 的改进,进一步增强了 Podman 的实用性和可靠性。欲了解更多信息,请参阅发布公告和完整的变更日志,了解 Podman 5.2 所带来的所有新功能和改进。