13.4. 配置容器 pull secret


要能够获取容器镜像,您必须使用"pull secret"配置主机系统,其中包括主机更新本身。如需了解更多详细信息,请参阅 RHEL 文档中的 在镜像模式中注入 secret 的附录。

您可以将容器 pull secret 配置为已构建镜像。如果您使用外部安装程序(如 Anaconda 用于裸机)或 bootc-image-builder,则必须使用任何适用的 pull secret 配置系统。

主机 bootc 更新将配置写入 /etc/ostree/auth.json 文件,该文件与 rpm-ostree 共享。

Podman 没有系统范围凭证。Podman 接受以下目录下的 containers-auth 位置:

  • /run: 这个目录的内容在重启后传播,这是不需要的。
  • /root: root 主目录的一部分,默认为本地可可变状态。

要统一引导和 Podman 凭据,请为 bootc 和 Podman 使用单个默认全局 pull secret。以下容器构建是统一 bootc 和 Podman 凭据的示例。示例要求名为 creds 的 secret 包含要构建的 registry pull secret。

流程

  1. bootc 和 Podman 之间创建一个符号链接以使用单个 pull secret。通过创建符号链接,您可以确保两个位置都存在于嵌入在容器镜像中的通用持久文件中。
  2. 创建 /usr/lib/container-auth.json 文件。

    FROM quay.io/<namespace>/<image>:<tag>
    COPY containers-auth.conf /usr/lib/tmpfiles.d/link-podman-credentials.conf
    RUN --mount=type=secret,id=creds,required=true cp /run/secrets/creds /usr/lib/container-auth.json && \
        chmod 0600 /usr/lib/container-auth.json && \
        ln -sr /usr/lib/container-auth.json /etc/ostree/auth.json
    Copy to Clipboard Toggle word wrap

    运行 containerfile 时,会出现以下操作:

    • Containerfile 使 /run/containers/0/auth.json 成为临时运行时文件。
    • 它创建一个指向 /usr/lib/container-auth.json 的符号链接。
    • 它还会创建一个持久文件,该文件也从 /etc/ostree/auth.json 链接。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat