3.2.3. 创建 OpenShift Update Service 图形数据容器镜像

OpenShift Update Service 需要图形数据容器镜像,OpenShift Update Service 从中检索有关频道成员资格和阻止更新边缘的信息。图形数据通常直接从升级图形数据仓库中获取。在互联网连接不可用的环境中,从 init 容器加载此信息是使图形数据可供 OpenShift Update Service 使用的另一种方式。init 容器的角色是提供图形数据的本地副本,在 pod 初始化期间,init 容器会将数据复制到该服务可访问的卷中。

流程

  1. 创建一个 Dockerfile,如 ./Dockerfile,包含以下内容:

    FROM registry.access.redhat.com/ubi8/ubi:8.1
    
    RUN curl -L -o cincinnati-graph-data.tar.gz https://github.com/openshift/cincinnati-graph-data/archive/master.tar.gz
    
    CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/cincinnati/graph-data/ --strip-components=1"
  2. 使用上一步中创建的 docker 文件来构建图形数据容器镜像,如 registry.example.com/openshift/graph-data:latest

    $ podman build -f ./Dockerfile -t registry.example.com/openshift/graph-data:latest
  3. 将上一步中创建的 graph-data 容器镜像推送到 OpenShift Update Service 可以访问的存储库,如 registry.example.com/openshift/graph-data:latest

    $ podman push registry.example.com/openshift/graph-data:latest
    注意

    要将图形数据镜像推送到受限网络中的本地 registry,请将上一步中创建的 graph-data 容器镜像复制到可供 OpenShift Update Service 访问的存储库。运行 oc image mirror --help 查看可用选项。