使用docker push进行部署很慢,因为有很多图像

时间:2015-04-24 16:30:45

标签: deployment docker

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

  1. 本地构建
  2. 将我的图片推送到docker hub
  3. 在服务器上:拉图片
  4. 在服务器上:启动图像
  5. 但码头推进需要永远。有30个图像,它必须遍历每个图像并说“图像已经存在”。有什么方法可以加快速度吗?

    或者,我应该使用不同的流程进行部署吗?

3 个答案:

答案 0 :(得分:4)

如果您正在使用本地注册表,我们最近添加了一个redis缓存,这有助于极大地提高速度。有关如何执行此操作的详细信息,请参阅注册表github页面

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

虽然推送仍然需要时间来处理新图像,但拉动非常快,因为所有图层都在redis缓存中。

答案 1 :(得分:3)

如果您像我一样推动AWS ECR,那么本地的docker可能需要重新启动。请参阅有关AWS ECR缓慢的主题:

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

这也可能影响其他平台。似乎在Mac上大约1.12.1,无论如何,重启Docker会有一些缓慢的问题。

答案 2 :(得分:2)

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