Podman 5 携多平台镜像和虚拟机支持而来

Podman 所做的所有更改最终汇聚成一个更灵活、更具响应能力的容器运行时引擎。

译自Podman 5 Arrives with Multiplatform Images, VM Support,作者 Jack Wallen。

如果你一直在使用 Podman 进行容器部署或开发,那么你将大饱口福。

Red Hat最近发布了Podman 容器管理系统的 5.0 版本,该版本完全重新设计了 Podman 虚拟机管理工具(podman-machine)的代码。

官方发布公告中提到:"Podman machine 包含一组子命令,用于管理 Podman 虚拟机,这是用户在 MacOS 或 Windows 上运行 Podman 所必需的。"

Podman 5.0中,新增了许多功能和改进,包括:

  • 新的_podman machine reset_选项,它简化了重置 Podman 虚拟机的过程
  • Podman 虚拟机的全新订阅管理器和_qemu-user-static_功能
  • Podman 虚拟机的更快的启动时间
  • 用于在远程机器上快速构建多平台镜像的_podman farm build_
  • 增加了对开放容器计划工件的支持的 podman manifest
  • 对无根网络工具的更改,以获得性能更高的网络堆栈

对 Podman 所做的所有更改最终都汇集到一个更灵活、响应更快的容器运行时引擎中。

问题

目前使用 Podman 5 的能力相当有限。据我所知,截至本周,获取/测试 Podman 5 的唯一途径是通过Fedora Linux,因为其他发行版的存储库中唯一可用的版本是 4.x。对于 Fedora,安装 Podman 5 的唯一途径是通过开发版本。

如何在 Fedora 上安装 Podman 5

首先,我不建议在生产机器上安装 Podman 的开发版本。仅在测试环境中使用它。我也不会建议在虚拟机上执行此操作,因为 Podman 将难以访问 KVM 系统。

另一个问题是,你无法使用 Fedora 40 beta 1 之前的任何 Fedora 版本。如果你使用的是 39 或更早版本的 Fedora,则此方法将不起作用。因此,你需要做的第一件事是下载 Fedora 40 beta 的 ISO。完成后,创建一个可引导闪存驱动器,启动进入 Fedora 40 beta 1,然后安装操作系统。

安装 Fedora 40 beta 1 后,你可以使用以下命令安装 Podman 5.0 的开发版本:

css 复制代码
sudo dnf update --refresh --enablerepo=updates-testing podman

完成后,你可以使用以下命令验证安装:

css 复制代码
podman --version

你应该在输出中看到类似以下内容:

复制代码
podman version 5.0.1

Podman 5.0 最好的功能之一是能够快速重置机器环境。此命令将停止所有正在运行的机器并删除它们。此外,还将删除配置数据文件(例如机器磁盘映像和先前提取的缓存映像)。该命令只有一个选项,即 --force(或仅 -f),它在未经确认的情况下重置所有内容。

假设你创建了几个机器,如下所示:

  • podman machine init dev1
  • podman machine init dev2
  • podman machine init web1
  • podman machine init web2

然后,你使用以下命令启动它们:

sql 复制代码
podman machine start dev1
podman machine start dev2
podman machine start web1
podman machine start web2

接下来,你使用以下命令访问每台机器:

复制代码
podman machine ssh NAME

其中 NAME 可以是_dev1_、dev2web1_或_web2

访问机器后,你开展了开发工作,运行了一些测试,或者对机器执行了任何你需要执行的操作。使用完这些机器后,如果你想使用 Podman 4.x 摆脱它们,则必须分别停止它们,然后使用以下命令删除它们:

arduino 复制代码
podman machine stop NAME
podman machine rm NAME

其中 NAME 可以是 dev1、dev2、web1 或 web2。

使用 Podman 5.0,可以使用以下命令完成所有这些操作:

perl 复制代码
podman machine reset

你的所有机器都将被停止并删除(以及关联的文件和数据)。

新版本还包括podman farm build命令,该命令在 farm 节点上构建镜像,然后将它们捆绑到清单列表中。我还没有测试过此功能,但根据手册页(使用man podman-farm阅读):

Podman 通过读写位于$XDG_CONFIG_HOME/containers下的podman-connections.json文件来管理 farm,如果未设置 env,则默认为$HOME/.config/containers。 或者可以将PODMAN_CONNECTIONS_CONF环境变量设置为 podman 将使用的一个完整文件路径。此文件由 podman 命令管理,用户切勿直接编辑。要手动配置 farm,请使用containers.conf中的[farm]部分。

对于那些不使用 Fedora 40 的人,我还没有发现任何迹象表明它何时可用于不同的发行版。如果我猜的话,Podman 5.0 将在今年随 9.4 版本进入 Red Hat Enterprise Linux。如果发生这种情况,它很可能会很快进入Rocky LinuxAlmaLinuxOracle Linux

同样重要的是,在更新到 Podman 5.0 之前,用户要了解 Podman 4 机器与 Podman 5.0 不兼容。因此,在升级到 5.0 之前,您应该删除所有 Podman 4 机器。在删除这些机器并升级到 Podman 5.0 之后,还建议在部署任何新机器之前运行podman machine reset命令。

要详细了解 Podman 5.0,请查看Podman 网站上的新功能摘要文章

本文在云云众生yylives.cc/)首发,欢迎大家访问。

相关推荐
MickeyCV2 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
藥瓿亭4 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_809798324 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器
嵌入式大圣4 小时前
Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
运维·docker·容器
孔令飞4 小时前
Kubernetes 节点自动伸缩(Cluster Autoscaler)原理与实践
ai·云原生·容器·golang·kubernetes
极简网络科技6 小时前
Docker、Wsl 打包迁移环境
运维·docker·容器
江湖有缘6 小时前
【Docker管理工具】部署Docker可视化管理面板Dpanel
运维·docker·容器
猫咪老师19958 小时前
多系统一键打包docker compose下所有镜像并且使用
java·docker·容器
Nazi68 小时前
docker数据管理
运维·docker·容器
孔令飞11 小时前
Go 为何天生适合云原生?
ai·云原生·容器·golang·kubernetes