gcloud docker 推送 403 禁止访问
gcloud docker push 403 Forbidden
我正在尝试将 docker 图片推送到 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
我检查过
- curl https://eu.gcr.io/v1/_ping => 有效
- gcloud 配置列表 => 项目 ID 已设置
- 存储api 已在控制台
中启用
- 如果我在 url 中使用项目名称,我会得到 403 Forbidden
- 如果我在 url 中使用项目 ID,我会得到 "Repository does not exist"
- gcloud auth list => 将所有者显示为活跃
- gcloud components update => 所有组件都是最新的。
看起来问题是(本地)docker 标签不正确,标签是 "project name" 而不是 "gcloud project id" 所以通过更改标签以包含项目推作品。
我遇到过同样的问题,按我的顺序解决。
- 按照说明重命名图像
- 将用户添加到 docker 组(对于 docker 登录很重要)
- 使用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
我正在尝试将 docker 图片推送到 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
我检查过
- curl https://eu.gcr.io/v1/_ping => 有效
- gcloud 配置列表 => 项目 ID 已设置
- 存储api 已在控制台 中启用
- 如果我在 url 中使用项目名称,我会得到 403 Forbidden
- 如果我在 url 中使用项目 ID,我会得到 "Repository does not exist"
- gcloud auth list => 将所有者显示为活跃
- gcloud components update => 所有组件都是最新的。
看起来问题是(本地)docker 标签不正确,标签是 "project name" 而不是 "gcloud project id" 所以通过更改标签以包含项目推作品。
我遇到过同样的问题,按我的顺序解决。
- 按照说明重命名图像
- 将用户添加到 docker 组(对于 docker 登录很重要)
- 使用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