gcloud码头推挂

dan*_*nvk 15 docker gcloud google-kubernetes-engine google-container-registry

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

$ 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
Run Code Online (Sandbox Code Playgroud)

推送无限期地保持在这种状态(我已经离开它一小时而没有一个字节的进展).如果我按Ctrl-C终止此进程并重新运行它,它将完全相同,并再次没有进展.

我发现的唯一解决方法是重新启动计算机并重新运行"Docker Quickstart Terminal".然后推动成功.

是否存在停滞推送的解决方法,不需要经常重启我的计算机?(我在Mac OS X上.)

小智 20

对于Mac上的docker用户来说这似乎是个问题,这可以在这个docker线程中看到,https://github.com/docker/docker/issues/5113

虽然没有明确的解决方法,但稍微更好的解决方法是每次都重新启动docker机器而不是计算机.

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

希望有所帮助.

  • 使用Docker for Mac时,重新启动Docker(菜单栏)也可以解决问题. (4认同)
  • 在Linux上,默认情况下似乎未安装docker-machine,但是运行`sudo service docker restart`似乎可以完成此工作。 (2认同)