在Docker中构build时间很长的微服务

我们有一个内部的c ++工具,我们正在研究作为docker微服务,并想知道这是否是一个好主意。

问题是这个工具有很多的依赖关系,包括需要30分钟下载和编译的GDAL。

通常我的configuration步骤如下所示:

  1. git clone gdal
  2. 。/configuration; 使; 安装;
  3. git clone myTool
  4. make myTool

我的问题是如何使用docker来解决这个问题? 我可以在我的Dockerfile中放入“RUN”语句,但是要花费很长时间来构build容器,每个容器都是600MB +。 我想知道是否有更好的方法。

gdal创build一个单独的基础图像,然后根据您的最终图像。 这样你很less需要重buildgdal

至于图像大小,目前还没有干净的方式来区分Docker镜像的构build和运行时依赖关系。 在工作中,我们使用了一些基本上可以嵌套docker build的bash胶水。 欲了解更多的细节,你可以看看这个回购 。