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

Google容器镜像推送失败:权限认证问题求助

GCR镜像推送认证失败排查方案

问题重现

推送镜像时收到错误:

denied: Unauthenticated request. Unauthenticated requests do not have permission "artifactregistry.repositories.uploadArtifacts" on resource "projects/gcp-devops-415915/locations/us/repositories/gcr.io" (or it may not exist)

已尝试的登录命令:
gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin https://us-central1-docker.pkg.dev

目标推送命令:
docker push gcr.io/gcp-devops-415915/myfirstimage:v1.0

核心问题与解决步骤

1. 修正Docker登录地址

你登录的是Artifact Registry的仓库地址,但推送目标是Google Container Registry(GCR),两者地址不匹配。执行正确的GCR登录命令:

gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin https://gcr.io

2. 确认GCR仓库状态

  • 检查项目是否启用Container Registry服务:执行gcloud services list --enabled | grep containerregistry.googleapis.com,无输出则需启用该API:gcloud services enable containerregistry.googleapis.com
  • 验证仓库路径有效性:执行gcloud container images list --repository=gcr.io/gcp-devops-415915,若返回空但无报错,说明仓库会在首次推送时自动创建;若报错,检查项目ID是否拼写正确。

3. 验证账号权限

确保当前Cloud Shell使用的账号拥有以下至少一种权限:

  • roles/storage.admin(存储管理员)
  • roles/containerregistry.admin(容器注册表管理员)
  • 最小权限:storage.objects.create(允许上传镜像对象)

执行命令查看当前账号权限绑定:

gcloud projects get-iam-policy gcp-devops-415915 --filter="bindings.members:$(gcloud config get-value account)"

若权限不足,联系项目管理员添加对应角色。

4. 检查镜像标签格式

推送前确认镜像标签完全匹配目标路径,执行docker images查看标签,确保格式为gcr.io/gcp-devops-415915/myfirstimage:v1.0,标签错误会导致权限校验失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:22:43