gclouddocker工具 – 推送结果login尝试失败,404

我正在尝试将一个docker镜像推送到Google的容器registry中,但不断收到有关Dockerlogin失败的错误。 我跑

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. 

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

我今天玩了一个本地registry,不知道这是否会破坏。

谢谢!

您只需要在Docker for Mac的首选项上禁用在macOS keychain上存储docker凭据。

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


通过从~/.docker/config.json文件中删除这个条目来禁用在mac os x keychain上存储docker凭据。

  "credsStore": "osxkeychain", 

在我的情况下,我没有额外的configuration(我没有login),所以我只是空白整个文件。

Google Cloud SDK v164.0.0应该有一个更新来解决这个问题,对不起。

现在可能是在城里宣传最新,最热门的authentication方法的好时机: docker-credential-gcr

编辑: v164.0.0已经发布 :

打破变化

  • gcloud dockerauthentication的默认存储库列表中删除了appengine.gcr.io

我有同样的问题。 我从Edge频道使用Docker for Mac(请参见区别https://docs.docker.com/docker-for-mac/install/ )。 切换到稳定(谨慎,你失去了所有的图像,容器,卷,configuration)后,我可以再次将图像推送到Google容器registry。