4.7. 使用 bootc-image-builder 创建原始磁盘镜像
您可以使用 bootc- image-builder 将 bootc
镜像转换为采用 MBR 或 GPT 分区表的原始镜像。RHEL 基础镜像不包括默认用户,因此您可以选择使用 --config
选项运行 bootc-image-builder
容器来注入一个用户配置。或者,您可以使用 cloud-init
配置基础镜像,以便在第一次引导时注入用户和 SSH 密钥。请参阅 用户和组配置 - 使用 cloud-init 注入用户和 SSH 密钥。
先决条件
- 您已在主机机器上安装了 Podman。
-
您有运行
bootc-image-builder
工具的 root 访问权限,并在--privileged
模式下运行容器,以构建镜像。 - 您已在容器存储中拉取了目标容器镜像。
流程
可选:创建一个
config.toml
来配置用户访问,例如:[[customizations.user]] name = "user" password = "pass" key = "ssh-rsa AAA ... user@email.com" groups = ["wheel"]
[[customizations.user]] name = "user" password = "pass" key = "ssh-rsa AAA ... user@email.com" groups = ["wheel"]
Copy to Clipboard Copied! 运行
bootc-image-builder
。如果要使用用户访问配置,请将config.toml
作为参数传递:sudo podman run \ --rm \ -it \ --privileged \ --pull=newer \ --security-opt label=type:unconfined_t \ -v /var/lib/containers/storage:/var/lib/containers/storage \ -v ./config.toml:/config.toml \ -v ./output:/output \ registry.redhat.io/rhel10/bootc-image-builder:latest \ --local \ --type raw \ --config /config.toml \ quay.io/<namespace>/<image>:<tag>
$ sudo podman run \ --rm \ -it \ --privileged \ --pull=newer \ --security-opt label=type:unconfined_t \ -v /var/lib/containers/storage:/var/lib/containers/storage \ -v ./config.toml:/config.toml \ -v ./output:/output \ registry.redhat.io/rhel10/bootc-image-builder:latest \ --local \ --type raw \ --config /config.toml \ quay.io/<namespace>/<image>:<tag>
Copy to Clipboard Copied! 您可以在 output 文件夹中找到
.raw
镜像。