代码之家  ›  专栏  ›  技术社区  ›  oluies

gcloud docker推送403禁止

  •  7
  • oluies  · 技术社区  · 10 年前

    我正在尝试将docker图像推送到eu.gcr。io和我将获得403禁赛

    gcloud docker push  eu.gcr.io/<projectname>/<image>:latest                                                                  
    The push refers to a repository [eu.gcr.io/<projectname>/<image>] (len: 1)
    663cd9de01fe: Preparing
    Post https://eu.gcr.io/v2/w<projectname>/<image>/blobs/uploads/: token auth attempt for registry: https://eu.gcr.io/v2/token?account=_token&scope=repository%3A<projectname>%2F<image>3Apush%2Cpull&service=eu.gcr.io request failed with status: 403 Forbidden
    

    我查过了

    1. 卷曲 https://eu.gcr.io/v1/_ping =>作品
    2. gcloud配置列表=>项目id已设置
    3. 在控制台中启用了存储api
    4. 如果我在url中使用项目名称,我会得到403禁止
    5. 如果我在url中使用项目id,我会得到“存储库不存在”
    6. gcloud身份验证列表=>将所有者显示为活动
    7. gcloud组件更新=>所有组件都是最新的。
    2 回复  |  直到 10 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    我也遇到过同样的问题,为了按我的顺序解决它。

    1. 按照说明重命名图像
    2. 将用户添加到docker组(对于docker登录很重要)
    3. 使用docker登录令牌 https://cloud.google.com/container-registry/docs/auth
    docker login -e 1234@5678.com -u _token -p "$(gcloud auth print-access-token)" https://gcr.io 
    

    (如果使用 sudo docker ,令牌将与根帐户一起存储。)

    然后使用 docker push gcr.io/projetc_id/imagename 根据 How to push a docker image to a private repository

        2
  •  3
  •   oluies    9 年前

    看起来问题是(本地)docker标记不正确,标记是“projectname”而不是“gcloudprojectid”,因此通过更改标记以包含项目,推送就可以了。

    推荐文章