如何解决Openshift将图像复制到另一个图像存储库
我使用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
在openopenshift构建结束时,构建映像并将其推送到其内部注册表。
问题是我想复制该映像构建并将其推送到openshift内部注册表到AWS ECR。必须使用openshift内部注册表中的图像来创建openshift吊舱,但是我只想在AWS ECR中也将该图像的副本自动推送到内部注册表中。
我有办法实现吗?
解决方法
我尚未对此进行测试,但是oc image mirror
命令可能适合您的用例,有关更多详细信息,请参考Transferring Images
。此命令可以将注册表中的映像复制到多个注册表中。例如,它显示了如何将内部图像“ image:latest”复制到docker.io
和quay.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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。