gcloud docker — push 导致登录尝试失败,错误代码为 404

gcloud docker — push 导致登录尝试失败,错误代码为 404

我正在尝试将 Docker 映像推送到 Google 的容器注册表,但一直收到有关 Docker 登录失败的错误。我运行

gcloud docker -- push gcr.io/<my-project-id>/test-image

我回来了

ERROR: Docker CLI operation failed:

Error response from daemon: login attempt to 
https://appengine.gcr.io/v2/ failed with status: 404 Not Found

ERROR: (gcloud.docker) Docker login failed.

其他不通过 docker 工作的 gcloud 操作。例如,我可以通过 创建一个集群gcloud container clusters create my-cluster

我今天确实玩了一下本地注册表,不确定这是否会破坏某些东西。

谢谢!

答案1

您只需在 Docker for Mac 的偏好设置中禁用在 macOS 钥匙串上存储 docker 凭据即可。

答案2

编辑:看来我的方法只有效暂时地。感谢@hamx0r 发布了如何应用长期修复的截图。


通过从文件中删除此条目,禁止在 mac os x 钥匙串上存储 docker 凭据~/.docker/config.json

    "credsStore": "osxkeychain",

就我而言,我没有额外的配置(我没有登录),所以我只是清空了整个文件。

答案3

应该有一个更新可以Google Cloud SDK v164.0.0解决这个问题,很抱歉给您带来麻烦。

现在可能是宣传城里最新、最热门的身份验证方法的好时机: docker-credential-gcr

编辑:v164.0.0已发布

重大变化

  • appengine.gcr.io从进行身份验证的默认存储库列表中删除gcloud docker

答案4

我也遇到了同样的问题。我使用的是 Edge 频道的 Docker for Mac(请参阅区别https://docs.docker.com/docker-for-mac/install/)。切换到稳定版本后(请注意,您将丢失所有图像、容器、卷和配置),我可以再次将图像推送到 Google 容器注册表。

相关内容