【问题标题】:Openshift copy image to another image repositoryOpenshift 将图像复制到另一个图像存储库
【发布时间】:2020-10-21 09:34:15
【问题描述】:

我有一个带有 buildConfig 的 openshift 部署,如下所示:

apiVersion: v1
kind: BuildConfig
metadata:
  name: '#OKD_COMPONENT_NAME#'
spec:
  output:
    to:
      kind: ImageStreamTag
      name: '#OKD_COMPONENT_NAME#:latest'
  runPolicy: SerialLatestOnly
  source:
    git:
      uri: '#CI_REPOSITORY_URL#'
      ref: '#CI_COMMIT_REF_NAME#'
    type: Git
    contextDir: #OKD_COMPONENT_NAME#
  strategy:
    dockerStrategy:
      buildArgs:
        - name: "CA_HOSTS_LIST"
          value: "get-ca-cert.apps.test.fr:443 get-ca-cert.apps.test.fr:443  get-ca-cert.apps.test.fr:443"
    type: Docker
  triggers:
  - type: ConfigChange
  - imageChange: {}
    type: ImageChange

在构建结束时,openshift 构建映像并将其推送到其内部注册表。

问题是我想将该映像构建复制并推送到 openshift 内部注册表到 AWS ECR。 openshift pods 必须使用 openshift 内部注册表中的图像创建,但我只想将该图像的副本也自动推送到 AWS ECR 中的内部注册表。

我有办法实现吗?

【问题讨论】:

    标签: amazon-web-services openshift amazon-ecr


    【解决方案1】:

    我尚未对此进行测试,但oc image mirror 命令可能适合您的用例,请参阅Transferring Images 了解更多详细信息。该命令可以将注册表中的一个镜像复制到多个注册表中。例如,它展示了如何将内部图像“image:latest”复制到docker.ioquay.io

    oc image mirror docker-registry.default.svc.cluster.local/project/image:latest \
       docker.io/project/image:stg \
       quay.io/project/image:prod
    

    对于自动化,您可以通过使用Configuring Post Commit Build Hooks 触发器实现上述复制任务的脚本来执行此操作,或者您可能需要更复杂的构建过程,例如Jenkins Pipeline

    【讨论】:

      猜你喜欢
      • 2015-08-10
      • 1970-01-01
      • 2018-08-31
      • 2018-12-05
      • 2019-04-19
      • 2011-07-20
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      相关资源
      最近更新 更多