gcloud docker push 403 Forbidden

olu*_*ies 6 google-compute-engine google-container-registry

我正试图将码头图像推送到eu.gcr.io,我得到了403 Forbidden

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
Run Code Online (Sandbox Code Playgroud)

我检查过

  1. curl https://eu.gcr.io/v1/_ping =>有效
  2. gcloud config list =>项目ID已设置
  3. 在控制台中启用了存储API
  4. 如果我在网址中使用项目名称,我会得到403 Forbidden
  5. 如果我在url中使用项目id,我会得到"存储库不存在"
  6. gcloud auth list =>将所有者显示为活动状态
  7. gcloud components update =>所有组件都是最新的.

Ali*_*MAR 4

我遇到了同样的问题,为了解决它,我完成了。

  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 
Run Code Online (Sandbox Code Playgroud)

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

然后docker push gcr.io/projetc_id/imagename根据如何将docker镜像推送到私有存储库来使用