无权推送到 GCR - 但我是该项目的所有者

Kie*_*one 0 docker google-cloud-platform

推到eu.gcr.io/my-project-name/my-image:tag,我得到:

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

我安装了 gcloud,当我使用 时gcloud auth list,我看到所选帐户是项目的所有者。

我已经运行gcloud auth configure-docker并且我的 Docker 配置文件包含gcloud作为凭证助手,因此。我已经确认 docker 正在使用相同的配置,因为如果我暂时清空配置,则会docker push出现不同的错误。

我也用过:

docker login -u oauth2accesstoken -p 'token_here' https://eu.gcr.io通过gcloud auth print-access-token.

这是一台新的笔记本电脑,用户之前可以推送到注册表...我很迷茫。

版本:

Google Cloud SDK 310.0.0
bq 2.0.60
core 2020.09.11
gsutil 4.53


Client: Docker Engine - Community
 Azure integration  0.1.15
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:43:18 2020
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a66213fe
  Built:            Mon Jun 22 15:49:27 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
Run Code Online (Sandbox Code Playgroud)

小智 5

我遇到了同样的问题——这发生在本周早些时候最新的 Docker 桌面更新之后。我在桌面设置窗口的“命令行”选项中禁用了“启用云体验”。然后它起作用了......

  • 是的,就是这样!我能问一下你是怎么找到这个答案的吗? (2认同)

mc5*_*c51 5

如果其他人偶然发现了这一点,但已确定这确实不是您的权限或 Docker Desktop 的问题,您可能会遇到与我相同的陷阱。sudo当您使用docker 运行时可能会发生这种情况。
该解决方案有点隐藏在文档中(在链接部分的末尾):

注意:如果您通常使用 sudo 在 Linux 上运行 Docker 命令,Docker 会在 /root/.docker/config.json 而不是 $HOME/.docker/config.json 中查找 Artifact Registry 凭据。如果您想将 sudo 与 docker 命令一起使用,而不是使用 Docker 安全组,请改为使用 sudo gcloud auth configure-docker 配置凭据。