gcloud docker-推送结果导致登录尝试失败,并显示404


24

我正在尝试将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

我今天确实在和本地注册表一起玩,不确定是否可能有问题。

谢谢!

Answers:


62

您只需要根据Docker for Mac的偏好禁用在macOS钥匙串上存储Docker凭据。


17
而且,因为这值得一杀手字:如何实现的屏幕截图
hamx0r

gcloud docker昨晚的命令对我来说一切正常。然后在今天的某个时候(7/18/17),我做了一个docker客户端更新,命令停止工作。搜索让我在这里,这个答案解决了这个问题。
eggie5

你救了我的一天!为什么有人会推出此类更新?。Bizzare。
Ufos

8

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


通过从~/.docker/config.json文件中删除此项来禁用在Mac OS X钥匙串上存储Docker凭证的功能。

    "credsStore": "osxkeychain",

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


截至2017
sgammon

2
看来我的方法只是暂时的。感谢@ hamx0r发布了有关如何应用长期修复程序的屏幕截图
爱德华·安德森

5

应该有可用的更新Google Cloud SDK v164.0.0来解决此问题,对不起,麻烦。

现在可能是宣传该镇最新,最热的身份验证方法的好时机: docker-credential-gcr

编辑:v164.0.0已发布

重大变化

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

1
更新对我的情况有所帮助
Marcin Zablocki

3

我有同样的问题。我从Edge通道使用了Mac的Docker(请参见区别https://docs.docker.com/docker-for-mac/install/)。切换到稳定模式后(注意,您丢失了所有图像,容器,卷,配置),我可以再次将图像推送到Google Container Registry。


15
截至6月28日,稳定分支也存在此问题。answer,这个答案不再正确。
对称的
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.