第 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。