4.21. 容器


RHEL 中正式发布新的 rhel9/valkey-8 容器镜像

新可用的 rhel9/valkey-8 容器镜像允许原子操作,并支持各种数据类型,如字符串、哈希、列表、集合和排序的集合。该镜像提供高性能,因为它的内存中数据集可以保留到磁盘,也可以通过将命令附加到日志中。

Jira:RHELDOCS-20639[1]

改进了对可重复生成的容器构建的支持

可重复生成的构建可确保给定输入集合一致生成相同的输出。此功能增强解决了之前在容器镜像构建中复杂可重复生成的几个因素。虽然 use -source-date-epoch and -rewrite-timestamp 提高了构建的可重复性,并与设置等常见实践一致,如设置和查找 $SOURCE_DATE_EPOCH,但它不能保证完全的可重复性。

Jira:RHEL-88521

Podman RESTFUL API 的新工件端点

Podman RESTFUL API 包括新的工件端点,支持编程管理 OCI 工件。此功能增强简化了将 OCI 工件操作整合到现有系统和脚本中。

Jira:RHEL-88472

Container Tools 软件包已更新

提供了更新的 Container Tools RPM meta-package,其中包括 Podman、Buildah、Skopeo、crunrunc 工具。Buildah 软件包已更新至版本 v1.41.0,Skopeo 已更新至版本 1.20.0。

Podman 版本 v5.6 包含以下显著的程序错误修复和增强:

  • 用于管理 Quadlets 的新命令已添加为 podman quadlet 安装(为当前用户安装新的 Quadletletletlet )、podman quadlet 列表(list installed Quadlets)、podman quadlet print (打印 Quadlet 文件的内容)和 podman quadlet rm (删除一个 Quadletlet)。
  • podman kube play 命令可以使用 io.podman.annotations.cpuset/$ctrnameio.podman.annotations.memory-nodes/$ctrname 注解将容器执行限制到特定的 CPU 内核和特定内存节点。
  • podman kube play 命令支持 Pod YAML 中的 lifecycle.stopSignal 字段,允许使用用于停止指定容器的信号。
  • 远程 Podman 客户端中提供了 podman volume importpodman volume export 命令。
  • podman volume create 命令接受两个新选项,即 ---uid 和- gid 来设置将创建卷的 UID 和 GID。
  • podman secret create 命令有一个新选项,-- ignore 导致命令成功,即使具有指定名称的 secret 已存在。
  • podman pull 命令具有一个新的选项,,用于配置拉取策略。
  • podman update 命令有一个新的选项,用于更新最新的容器,而不是指定特定容器。
  • 添加了用于与工件交互的完整 API 端点,包括检查工件(GET /libpod/artifacts/{name}/json)、列出所有工件(GET /libpod/artifacts/json), 在请求正文中拉取工件(POST /libpod/artifacts/pull), 删除工件(DELETE /libpod/artifacts/{name})、添加工件(或附加到请求正文中的 tar 文件))将工件推送到 registry (/libpod/artifacts/{name}/push),并检索工件的内容(GET /libpod/artifacts/{name}/extract)。
  • 添加了一个新命令,podman artifact提取,将部分或所有 OCI 工件的内容复制到磁盘上的一个位置。
  • podman createpodman runpodman pod create 的-- mount 选项支持一个新的挂载类型,-- mount type=artifact 以将 OCI 工件挂载到容器中。
  • podman artifact add 命令具有两个新选项,即将 新文件添加到现有工件中,并使用 --file-type 指定添加到工件中的文件的 MIME 类型。
  • podman artifact rm 命令具有一个 新的选项,用于删除本地存储中的所有工件。
  • podman kube generatepodman kube play 命令支持一个新的注解 io.podman.annotation.pids-limit/$containername,保留 kube generatekube play 中容器的 PID 限制。
  • Quadlet .container 单元支持三个新键,Memory= (为创建的容器设置最大内存)、ReloadCmd (通过 systemd ExecReload执行命令)和 ReloadSignal (通过 systemd ExecReload,使用给定信号提高容器)。
  • Quadlet .container.image.build 单元支持两个新密钥: Retry (失败时重试拉取镜像的次数)和 RetryDelay (重试尝试之间的延迟)。
  • Quadlet .pod 单元支持一个新的键 HostName= 来设置 pod 的主机名。
  • Quadlet 文件支持 安装 部分中的新选项 UpheldBy,对应于 systemd Upholds 选项。
  • 指定为 systemd 依赖项的 Quadlet 单元的名称会自动转换,如 Wants=my.container 是有效的。

有关值得注意的变化的更多信息,请参阅 上游发行注记

Jira:RHEL-88464

ADDCOPY 指令现在支持- -link 选项

Buildah 和 Podman 现在支持 Containerfiles 中的 ADD 和 COPY 指令的-- link 标志,这会导致在构建镜像中添加新内容作为自己的层。

Jira:RHEL-88307

新的容器镜像可用

新容器镜像在红帽生态系统目录中列出:

  • UBI -stig :具有 STIG 强化的通用基础镜像作为容器化应用程序、中间件和工具的安全基础。
  • valkey-8 :作为容器可用的高级键值存储,使用内存数据集来实现其性能。它通常被称为数据结构服务器,因为键可以包含字符串、散列、列表、集合和排序的集合。
  • gcc-toolset-15-toolchain :一个基础镜像,其中包含用于构建 C 和 C++ 应用程序的基本库和工具。
  • nodejs-24 :提供构建和运行各种 Node.js 24 应用程序和框架的基本平台。它基于 Chrome 的 JavaScript 运行时构建,它通过事件驱动的、非阻塞 I/O 模型促进快速、可扩展的网络应用程序,非常适合数据密集型实时分布式应用程序。
  • nodejs-24-minimal :提供运行各种 Node.js 24 应用程序和框架的基本平台。它基于 Chrome 的 JavaScript 运行时构建,它通过事件驱动的、非阻塞 I/O 模型促进快速、可扩展的网络应用程序,非常适合数据密集型实时分布式应用程序。
  • dotnet-100,dotnet-100-aspnet,dotnet-100-runtime: .NET 100 镜像,包括基础、ASP.NET 和运行时版本。

Jira:RHELDOCS-21211[1]

RHEL 镜像模式支持在运行时创建根目录和符号链接

在这个版本中,您可以使用 RHEL 镜像模式在系统部署后创建根目录和符号链接,然后将文件系统返回到只读模式。因此,您可以在具有不同文件系统要求的多个部署环境中使用单个基础镜像。

Jira:RHELDOCS-21230[1]

bootc-image-builder 默认使用本地容器存储

在这个版本中,bootc-image-builder 工具默认在本地模式下运行,这意味着它不再从远程 registry 中拉取容器镜像。要构建磁盘镜像,您必须在构建磁盘镜像前预加载系统本地容器 registry 中的基本引导容器镜像。如果您有依赖于自动镜像拉取(pull)的现有工作流,您必须更新它们。此更改通过在构建过程中减少外部网络依赖项来提高安全性。

Jira:RHELDOCS-21218[1]

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat