由于存在许多图像,因此使用docker push进行部署很慢

我正在尝试通过docker进行部署。 我正在使用以下工作stream程:

  1. 在本地build立
  2. 将我的图像推送到docker集线器
  3. 在服务器上:拉图像
  4. 在服务器上:启动图像

但是docker推动需要永远。 有30个图像,它必须走过每一个说“图像已经存在”。 有什么办法可以加速吗?

或者,我应该使用不同的stream程来部署?

如果您使用的是本地registry,我们最近添加了一个rediscaching,这有助于极大地加快速度。 有关如何做到这一点的详细信息是在registrygithub页面上

https://github.com/docker/docker-registry

虽然在新映像上推送仍然需要时间,但是所有的图层都位于rediscaching中,所以提取速度非常快。

如果您正在推进AWS ECR,就像我一样,可能您的本地需求重新启动。 请参阅关于AWS ECR缓慢的主题:

https://forums.aws.amazon.com/thread.jspa?threadID=222834

这也可能影响其他平台。 似乎Mac上的1.12.1左右,总之有一些缓慢的问题会导致Docker重启。

在每个部署中推送更多/更大图像的最可能原因是您没有优化Docker文件。 这是一个很好的介绍http://blog.tutum.co/2014/10/22/how-to-optimize-your-dockerfile/