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

Ubuntu终端遇Artifact Registry权限拒绝错误,求解决方案

解决方案

1. 核对仓库存在性与Docker配置域名

  • 先确认目标仓库是否存在:
    gcloud artifacts repositories list --project=niveustraining --location=us
    
    如果输出里找不到gcr.io仓库,要么是名称有误,要么需要先创建该仓库。另外注意:你之前配置Docker用的是europe-west1-docker.pkg.dev,但错误里的仓库区域是us,必须保证Docker配置的域名和目标仓库的区域/域名完全匹配:
    • 若目标是us区域的Artifact Registry,执行:
      gcloud auth configure-docker us-docker.pkg.dev
      
    • 若是旧版GCR仓库,执行:
      gcloud auth configure-docker gcr.io
      

2. 给账号添加上传权限

  • 登录Google Cloud控制台,进入niveustraining项目的IAM页面,找到当前使用的账号(用gcloud auth list可查看活跃账号),为其添加Artifact Registry Writer角色(该角色包含所需的artifactregistry.repositories.uploadArtifacts权限)。
  • 也可通过命令行直接添加角色:
    gcloud projects add-iam-policy-binding niveustraining \
      --member="user:你的邮箱地址" \
      --role="roles/artifactregistry.writer"
    

3. 确认gcloud账号与项目配置正确

  • 检查当前活跃账号:
    gcloud auth list
    
    确保是你刚配置权限的账号,若不是则切换:
    gcloud config set account 你的邮箱地址
    
  • 检查当前项目配置:
    gcloud config get-value project
    
    确保是niveustraining,若不是则切换:
    gcloud config set project niveustraining
    

4. 刷新Docker认证

  • 执行命令刷新Docker的gcloud认证(注意替换为对应仓库域名):
    gcloud auth print-access-token | docker login -u oauth2accesstoken --password-stdin https://us-docker.pkg.dev
    
    (如果是GCR仓库,把域名换成gcr.io)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 04:37:17