4.16. 容器
Podman 支持拉取和推送 zstd 压缩的镜像
您可以拉取和推送使用 zstd
格式压缩的镜像。zstd 压缩比 gzip 效率更高,更快。它可以减少拉取和推送镜像所需的网络流量和存储量。
Jira:RHELPLAN-154313[1]
Podman 中的 Quadlet 现在可用
从 Podman v4.6 开始,您可以使用 Quadlet 从容器描述中自动生成一个 systemd
服务文件。Quadlets 可能比 podman generate systemd
命令更容易使用,因为描述侧重于相关的容器详情,且没有在 systemd
下运行容器的技术复杂性。请注意,Qadlets 仅适用于有根容器。
如需了解更多详细信息,请参阅 Quadlet 上游文档 和 使用 Quadlet 使 systemd 更好地用于 Podman 文章。
Jira:RHELPLAN-154431[1]
Container Tools 软件包已更新
现在提供更新的 Container Tools 软件包,其包括 Podman、Buildah、Skopeo、crun 和 runc 工具。与之前的版本相比,这个版本应用了一系列 bug 修复和增强。
Podman v4.6 中的显著变化包括:
-
podman kube play
命令现在支持--configmap=<path>
选项,来为 Kubernetes YAML 文件提供 pod 容器中使用的环境变量。 -
podman kube play
命令现在支持--configmap
选项的多个 Kubernetes YAML 文件。 -
podman kube play
命令现在支持存活度探测中的 containerPort 名称和端口号。 -
podman kube play
命令现在将 ctrName 作为别名添加到 pod 网络。 -
podman kube play
和podman kube generate
命令现在支持 SELinux 文件类型标签和 ulimit 注解。 -
添加了一个新命令
podman secret exists
,它验证具有指定名称的 secret 是否存在。 -
podman create
,podman run
,podman pod create
和podman pod clone
命令现在支持一个新选项--shm-size-systemd
,它允许限制特定于 systemd 挂载的 tmpfs 的大小。 -
podman create
和 podman run 命令现在支持一个新选项--security-opt label=nested
,它允许在受限容器中进行 SELinux 标记。 - Podman 现在支持对在 pod 内运行的容器进行自动更新。
-
Podman 现在可以使用 SQLite 数据库作为后端,来提高稳定性。默认保留 BoltDB 数据库。您可以通过在
containers.conf
文件中设置database_backend
字段来选择数据库。 -
Podman 现在支持 Quadlets 从容器描述中自动生成一个
systemd
服务文件。该描述侧重于相关的容器详情,隐藏了在systemd
下运行容器的技术复杂性。
有关显著变化的详情,请查看 上游发行注记。
Jira:RHELPLAN-154443[1]
Podman 现在支持 Podmansh 登录 shell
从 Podman v4.6 开始,您可以使用 Podmansh
登录 shell 管理用户访问权限和控制。要切换到 CGroups v2,请将 systemd.unified_cgroup_hierarchy=1
添加到内核命令行。配置用户的设置,以使用 /usr/bin/podmansh
命令作为登录 shell ,而不是标准的 shell 命令,例如 /usr/bin/bash
。当用户登录到系统设置时,podmansh
命令在名为 podmansh
的 Podman 容器中运行用户的会话。用户登录的容器是使用 Quadlet 文件定义的,这些文件是在 /etc/containers/systemd/users/
目录中创建的。在这些文件中,将 [Container]
部分中的 ContainerName
字段设置为 podmansh
。当用户会话启动时,systemd 会自动启动 podmansh
,并继续运行,直到所有用户会话退出为止。
如需更多信息,请参阅 Podman v4.6.0 引入了 Podmansh: 革命性的登录 Shell。
Jira:RHELPLAN-163002[1]
现在,可提供带有 Fulcio 和 Rekor 的 sigstore 签名的客户端
有了 Fulcio 和 Rekor 服务器,您现在可以根据 OpenID Connect (OIDC)服务器身份验证使用短期证书来创建签名,而不是手动管理私钥。以前作为技术预览提供的具有 Fulcio 和 Rekor 的 sigstore 签名的客户端现在完全支持。这个添加的功能只是客户端侧支持,不包括 Fulcio 或 Rekor 服务器。
在 policy.json
文件中添加 fulcio
部分。要签署容器镜像,请使用 podman push --sign-by-sigstore=file.yml
或 skopeo copy --sign-by-sigstore=file.yml
命令,其中 file.yml
是 sigstore 签名参数文件。
要验证签名,请在 policy.json
文件中添加 fulcio
部分和 rekorPublicKeyPath
或 rekorPublicKeyData
字段。如需更多信息,请参阅 containers-policy.json
手册页。
Jira:RHELPLAN-160659[1]