Google Container Registry 权限

wuj*_*ido 3 permissions docker google-cloud-platform google-container-registry

我正在尝试将 docker 映像推送到 GCP,但我仍然收到此错误:

unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication
Run Code Online (Sandbox Code Playgroud)

我一步一步地遵循这个https://cloud.google.com/container-registry/docs/quickstart一切正常,直到 docker push

很明显 GCP 项目

我已经试过了:

  1. 使用 gcloud 作为 Docker 凭证助手: gcloud auth configure-docker
  2. 重新安装 Cloud SDK 和 gcloud init
  3. 存储管理员角色添加到我的帐户

我做错了什么?

感谢您的任何建议

Al-*_*-un 6

如果它可以帮助那些和我一样情况的人:

  • 码头工人 19.03
  • 谷歌云 SDK 288.0.0

重要提示:我的用户不在docker用户组中。然后我必须sudo在任何 docker 命令之前添加

何时gclouddocker不使用相同的 config.json

当我使用 gcloud 凭据助手时:

gcloud auth configure-docker
Run Code Online (Sandbox Code Playgroud)

它更新了我的 $HOME: 中的 JSON 配置文件[/home/{username}/.docker/config.json]。但是,当从 Docker CLI 注销并再次登录时,

sudo docker login
Run Code Online (Sandbox Code Playgroud)

警告显示了不同的路径,这是有道理的,因为我sudo-ed:

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Run Code Online (Sandbox Code Playgroud)

sudo 到处

为了修复它,我执行了以下步骤:

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Run Code Online (Sandbox Code Playgroud)

我现在可以将我的 Docker 镜像同时推送到 GCR 和 Docker 集线器