You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Artifact Registry中实现跨项目复制制品

Artifact Registry跨项目复制容器镜像的正确实现方式

你之前使用的gcloud artifacts docker tags add命令仅支持为同一个镜像实例添加多个标签,源和目标路径如果分属不同项目/不同仓库,本质是两个独立的镜像存储位置,自然会触发镜像不匹配的报错,该逻辑和旧版Container Registry的标签复制逻辑不通用。

推荐方案:使用内置镜像复制命令

直接用gcloud提供的原生复制命令,不需要将镜像拉取到本地,直接在谷歌云后端完成跨项目/跨区域的镜像复制,命令格式如下:

gcloud artifacts docker images copy \
  <源镜像路径> \
  <目标镜像路径>

对应你的场景,可直接执行以下命令:

gcloud artifacts docker images copy \
        us-east4-docker.pkg.dev/source-proj/my-repo/my-image:latest \
        us-east4-docker.pkg.dev/dest-proj/my-repo/my-image:latest

如果需要复制该镜像的所有标签,可将末尾的:latest替换为:*即可。

前置权限要求

执行命令前需要确保当前操作账号同时满足两个权限:

  • 源项目对应Artifact Registry仓库的Artifact Registry Reader角色
  • 目标项目对应Artifact Registry仓库的Artifact Registry Writer角色

备选方案:本地中转复制

如果遇到特殊网络限制无法直接用上述复制命令,也可以通过本地Docker客户端中转完成操作:

  1. 拉取源镜像到本地
docker pull us-east4-docker.pkg.dev/source-proj/my-repo/my-image:latest
  1. 给镜像打目标仓库标签
docker tag us-east4-docker.pkg.dev/source-proj/my-repo/my-image:latest us-east4-docker.pkg.dev/dest-proj/my-repo/my-image:latest
  1. 推送镜像到目标仓库
docker push us-east4-docker.pkg.dev/dest-proj/my-repo/my-image:latest

内容的提问来源于stack exchange,提问作者rossco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:36:00