gcloud docker推吊

gcloud docker推吊,docker,gcloud,google-kubernetes-engine,google-container-registry,Docker,Gcloud,Google Kubernetes Engine,Google Container Registry,当我尝试使用gcloud docker push将新docker映像推送到gcr.io时,它通常会在停止前取得一些进展: $ gcloud docker push gcr.io/foo-bar-1225/baz-quux:2016-03-23 The push refers to a repository [gcr.io/foo-bar-1225/baz-quux] 762ab2ceaa70: Pushing [>

当我尝试使用
gcloud docker push
将新docker映像推送到
gcr.io
时,它通常会在停止前取得一些进展:

$ gcloud docker push gcr.io/foo-bar-1225/baz-quux:2016-03-23
The push refers to a repository [gcr.io/foo-bar-1225/baz-quux]
762ab2ceaa70: Pushing [>                                              ]   556 kB/154.4 MB
2220ee6c7534: Pushing [===>                                           ]  4.82 MB/66.11 MB
f99917176817: Layer already exists
8c1b4a49167b: Layer already exists
5f70bf18a086: Layer already exists
1967867932fe: Layer already exists
6b4fab929601: Layer already exists
550f16cd8ed1: Layer already exists
44267ec3aa94: Layer already exists
bd750002938c: Layer already exists
917c0fc99b35: Layer already exists
推送无限期地保持在这种状态(我已经离开它一个小时了,没有一个字节的进度)。如果我按住Ctrl-C键终止此进程并重新运行它,它将到达完全相同的点,并且再次没有任何进展

我找到的唯一解决办法是重新启动我的计算机并重新运行“Docker Quickstart Terminal”。然后推送成功


对于不需要频繁重新启动计算机的暂停推送,是否有解决方法?(我在Mac OS X上)

这似乎是Mac上docker用户以前遇到的问题,从这个docker线程中可以看出

虽然没有明确的解决办法,但一个稍微好一点的解决办法是每次重新启动docker机器而不是计算机

您可以运行
docker machine restart default
将docker重置为工作状态


希望这能有所帮助。

我想提醒自己,重启docker机器意味着您将丢失所有本地缓存的图像。这使得这对于一个常规问题来说是一个非常令人沮丧的“修复”。当使用Docker for Mac时,重启Docker(菜单栏)也可以解决这个问题。在Linux上,Docker机器在默认情况下似乎没有安装,但运行
sudo service Docker restart
似乎可以完成这项工作。