如何解决将图像从 Openshift Imagestream 推送到 AWS ECR
我们有企业 Openshift 集群,在该集群上配置了 Gitlab Runner。 我无法以 root 权限或 anyuid 运行 Pod。没有 root 任何 docker、kaniko、buildah 命令都会失败。 我只能使用标准 Openshift 工具构建 docker 镜像:
oc get bc $APPLICATION_NAME || oc new-build --strategy docker --binary --name=$APPLICATION_NAME --to=$APPLICATION_NAME
现在我需要将此映像从 Openshift ImageStream 推送到 Aws ECR 存储库。 Openshift ImageStream 只能在内部访问。 有任何想法吗?我花了几天但没有运气。
解决方法
您需要配置您的 BuildConfig
以将您的图像推送到外部注册表。可以在此处的旧博文中找到示例:https://www.openshift.com/blog/pushing-application-images-to-an-external-registry
所以基本上你会想要做 oc edit bc <mybuildconfig>
然后将 spec.output
更改为这样的:
[..]
spec:
output:
to:
kind: DockerImage
name: myregistry.example.com/mynamespace/myimagename:latest
pushSecret:
name: registrysecret
[..]
您可以使用如下命令创建的 registrysecret
:
oc create secret docker-registry registrysecret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
您可以在 OpenShift 文档中找到更多信息:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。