我正在尝试将一个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 docker
authentication的默认存储库列表中删除了appengine.gcr.io
。 我有同样的问题。 我从Edge频道使用Docker for Mac(请参见区别https://docs.docker.com/docker-for-mac/install/ )。 切换到稳定(谨慎,你失去了所有的图像,容器,卷,configuration)后,我可以再次将图像推送到Google容器registry。