第 2 章 构建和测试 RHEL bootc 镜像
您可以使用 Podman 和 Containerfiles 构建和测试 RHEL 容器镜像,以便跨环境有效地创建、自定义和共享可引导的 RHEL 系统镜像。您也可以使用其他工具,如 OpenShift Container Platform。有关使用容器配置 RHEL 系统的更多信息,请参阅 rhel-bootc-examples 存储库。
2.1. 从 Containerfile 构建并配置基于 bootc 的镜像 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用 Containerfile 构建和自定义基于引导的镜像,其中包含您需要的工具、配置和应用程序。虽然大多数标准指令都可以正常工作,但在系统上安装镜像时会忽略一些操作。
图 2.1. 使用 Containerfile 中的指令构建镜像,测试容器,将镜像推送到 registry,并与其他人共享它
通用 Containerfile
结构如下:
可以在 Containerfile
和 Dockerfile
中使用的命令一样。
但是,当将 rhel-10-bootc
镜像安装到系统时,Containerfile
中的以下命令会被忽略:
-
ENTRYPOINT
和CMD
(OCI:Entrypoint/Cmd
):您可以设置CMD /sbin/init
。 -
ENV
(OCI:Env
): 更改systemd
配置以配置全局系统环境。 -
EXPOSE
(OCI:exposePorts
):它独立于系统防火墙和运行时网络功能。 -
USER
(OCI:User
):配置 RHEL bootc 中的单个服务,以作为非特权用户运行。
rhel-10-bootc
容器镜像重复利用 OCI 镜像格式。
-
rhel-10-bootc
容器镜像在安装到系统时会忽略容器配置部分(Config
)。 -
当使用容器运行时(如
podman
或docker
)运行此镜像时,rhel-10-bootc
容器镜像不会忽略容器配置部分(Config
)。