Docker 中构建时间较长的微服务
Microservice with long build time in Docker
我们有一个内部 C++ 工具,我们正在将其作为 docker 微服务进行研究,并想知道它是否是个好主意。
问题是该工具有很多依赖项,包括 GDAL,下载和编译可能需要 30 分钟。
通常我的配置步骤如下:
git clone gdal
- ./配置;制作;安装;
- git 克隆我的工具
- 制作我的工具
我的问题是我应该如何使用 docker 解决这个问题?我可以在我的 Dockerfile 中放入 "RUN" 语句,但构建容器需要很长时间,而且每个容器都超过 600MB。我想知道有没有更好的方法。
为 gdal
创建一个单独的基础图像,然后以此为基础制作最终图像。这样你就很少需要重建 gdal
.
至于图像大小,目前没有清晰的方法来区分 docker 图像的构建和运行时依赖性。在工作中,我们求助于一些 bash 胶水,它基本上可以实现嵌套 docker 构建。有关详细信息,您可以查看此 repo.
我们有一个内部 C++ 工具,我们正在将其作为 docker 微服务进行研究,并想知道它是否是个好主意。
问题是该工具有很多依赖项,包括 GDAL,下载和编译可能需要 30 分钟。
通常我的配置步骤如下:
git clone gdal
- ./配置;制作;安装;
- git 克隆我的工具
- 制作我的工具
我的问题是我应该如何使用 docker 解决这个问题?我可以在我的 Dockerfile 中放入 "RUN" 语句,但构建容器需要很长时间,而且每个容器都超过 600MB。我想知道有没有更好的方法。
为 gdal
创建一个单独的基础图像,然后以此为基础制作最终图像。这样你就很少需要重建 gdal
.
至于图像大小,目前没有清晰的方法来区分 docker 图像的构建和运行时依赖性。在工作中,我们求助于一些 bash 胶水,它基本上可以实现嵌套 docker 构建。有关详细信息,您可以查看此 repo.