使用 GCloud 容器构建器将图像拉取并推送到另一个项目
Posted
技术标签:
【中文标题】使用 GCloud 容器构建器将图像拉取并推送到另一个项目【英文标题】:Pull and Push image to another project using GCloud container builder 【发布时间】:2018-06-08 07:48:44 【问题描述】:我有 2 个 gcloud 项目,例如 foo
和 bar
。我在foo
项目的容器注册表中有一个名为gcr.io/foo/cat:latest
的docker 映像。需要一种方法将此图像提升为bar
项目,同时将标签重命名为gcr.io/bar/cat:1.0.0
。如何在bar
项目的gcloud容器服务中做到这一点?
【问题讨论】:
像原来一样给它标签并推送它。 但是如何从一个项目中拉取并推送到另一个项目?服务帐户仅适用于一个项目。我可以在项目之间共享服务帐户吗?容器构建器使用 cloudbuild.gserviceaccount.com 帐户运行。它无权从另一个项目中提取。 【参考方案1】:能够按照这篇文章完成它:https://medium.com/google-cloud/using-single-docker-repository-with-multiple-gke-projects-1672689f780c
步骤:
1、从IAM页面获取bar
项目的容器构建器服务账号ID。提示:会员名以@cloudbuild.gserviceaccount.com
结尾。
2. 将新的 IAM 成员添加到 foo
项目,使用我们之前获得的服务帐户 ID 并具有“存储对象查看器”权限。
现在bar
项目的容器构建器服务账号可以访问(拉取)foo
项目的容器镜像。
【讨论】:
确保已启用云构建器 API。以上是关于使用 GCloud 容器构建器将图像拉取并推送到另一个项目的主要内容,如果未能解决你的问题,请参考以下文章
我可以使用 Git 从服务器 1 拉取并从桌面 1 推送到 GitHub 吗?
AWS ECR Repository - 如何从一个账户复制图像并推送到另一个账户
将Go语言编写的HttpServer部署到Docker并推送到DockerHub