10.4. 使用 Satellite 订阅运行构建
10.4.1. 将 Satellite 配置添加到构建中
使用 Satellite 安装内容的构建必须提供适当的配置,以从 Satellite 存储库获取内容。
先决条件
您必须提供或创建与 yum 兼容的存储库配置文件,该文件将从 Satellite 实例下载内容。
[test-<name>] name=test-<number> baseurl = https://satellite.../content/dist/rhel/server/7/7Server/x86_64/os enabled=1 gpgcheck=0 sslverify=0 sslclientkey = /etc/pki/entitlement/...-key.pem sslclientcert = /etc/pki/entitlement/....pem
流程
创建包含 Satellite 存储库配置文件的 ConfigMap:
$ oc create configmap yum-repos-d --from-file /path/to/satellite.repo
将 Satellite 存储库配置添加到 BuildConfig 中:
source: configMaps: - configMap: name: yum-repos-d destinationDir: yum.repos.d
10.4.2. 使用 Satellite 订阅进行 Docker 构建
Docker 策略构建可以使用 Satellite 存储库来安装订阅内容。
先决条件
必须将权利密钥和 Satellite 存储库配置添加为构建输入。
流程
使用以下示例 Dockerfile 来通过 Satellite 安装内容:
FROM registry.redhat.io/rhel7:latest USER root # Copy entitlements COPY ./etc-pki-entitlement /etc/pki/entitlement # Copy repository configuration COPY ./yum.repos.d /etc/yum.repos.d # Delete /etc/rhsm-host to use entitlements from the build container RUN rm /etc/rhsm-host && \ # yum repository info provided by Satellite yum -y update && \ yum -y install <rpms> && \ # Remove entitlements rm -rf /etc/pki/entitlement # OpenShift requires images to run as non-root by default USER 1001 ENTRYPOINT ["/bin/bash"]