第 5 章 容器
下面的章节包含 RHEL 9 和 RHEL 10 之间容器的最显著更改。
containers.conf 文件中的系统连接和场信息现在为只读
-
存储在
containers.conf
文件中的系统连接和场信息现在是只读的。系统连接和场信息现在将被存储在podman.connections.json
文件中,仅由 Podman 管理。Podman 继续支持旧的配置选项,如[engine.service_destinations]
和[farms]
部分。如果需要,您仍然可以手动添加连接或场,但无法使用podman system connection rm
命令从containers.conf
文件中删除连接。
swig4netns
网络模式已弃用
-
slirp4netns
网络模式已被弃用,并将在以后的 RHEL 主发行版本中删除。pasta
网络模式是无根容器的默认网络模式。
无根容器的 cgroup v1 已被弃用
- 无根容器的 cgroup v1 已被弃用,并将在以后的 RHEL 主发行版本中删除。cgroup v2 默认使用 cgroup v1。
不再支持 containernetworking-plugins 软件包和 CNI 网络堆栈
containernetworking-plugins
软件包已被删除,且 CNI 网络堆栈不再被支持。-
如果您从以前的 RHEL 版本升级到 RHEL 10.0,或者有全新的 RHEL 10.0 安装,则 CNI 网络后端将不再可用。使用 CNI 进行联网的现有容器将无法正常工作,需要删除并重新创建。新创建的容器将使用默认的
netavark
网络后端。 -
如果存在,则
network_backend
选项的 containers.conf 文件中的cni
值必须改为netavark
或可以取消设置。
-
如果您从以前的 RHEL 版本升级到 RHEL 10.0,或者有全新的 RHEL 10.0 安装,则 CNI 网络后端将不再可用。使用 CNI 进行联网的现有容器将无法正常工作,需要删除并重新创建。新创建的容器将使用默认的
runc
容器运行时已被删除
runc
容器运行时已被删除。默认容器运行时是 crun
。如果您从以前的 RHEL 版本升级到 RHEL 10.0,您必须运行 podman system migrate --new-runtime=crun
命令为所有容器设置新的 OCI 运行时。
在最小容器镜像中,默认不再安装 tzdata
软件包
tzdata
软件包不再安装在 registry.access.redhat.com/ubi10-minimal
容器镜像中。因此,如果您将最小容器构建从以前的 RHEL 版本迁移到 RHEL 10.0,并且输入 microdnf reinstall tzdata
命令以重新安装 tzdata
软件包,您会收到错误消息,因为 tzdata
软件包不再被默认安装。在这种情况下,输入 microdnf install tzdata
命令来安装 tzdata
。如果没有 tzdata
软件包,则只有 UTC
时区可用。
composefs
文件系统作为技术预览提供
composefs
使用的关键技术有:
- OverlayFS 作为内核接口
- 用于可挂载元数据树的增强的只读文件系统(EROFS)
-
低层文件系统中的
fs-verity
功能(可选)
composefs
的主要优点:
-
元数据和数据之间的分隔。
composefs
不存储任何持久数据。底层元数据和数据文件存储在有效的较低 Linux 文件系统中,如ext4
、xfs
等。 -
挂载具有共享存储的多个
composefs
。 - 数据文件在页面缓存中共享,以使多个容器镜像能够共享其内存。
-
支持内容文件的
fs-verity
验证。
不支持在 RHEL 10 主机上运行 RHEL 7 容器
不支持在 RHEL 10 主机上运行 RHEL 7 容器。如需更多信息,请参阅 Red Hat Enterprise Linux Container Compatibility Matrix。
更改 storage.conf
文件的位置
从 RHEL 10.0 开始,storage.conf
配置文件位于 /usr/share/containers
目录中,而不是 /etc/containers
。