16

当我尝试将新的 docker 图像推送到gcr.iousinggcloud 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

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

我发现的唯一解决方法是重新启动计算机并重新运行“Docker 快速启动终端”。然后推送成功。

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

4

1 回答 1

21

这似乎是 Mac 上的 docker 用户之前遇到的一个问题,正如可以在这个 docker 线程中看到的那样,https://github.com/docker/docker/issues/5113

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

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

希望有帮助。

于 2016-03-24T00:04:59.633 回答