虽然大多数时候我正在开发Java应用程序并且只使用Maven,所以我的构建应该是可重现的(至少Maven说的是这样).
但是如果你正在编译一个C程序或者更多涉及的东西,你应该在docker内构建吗?或者理想地使用vagrant或其他技术来生成可重现的构建.
如何使用docker管理可重现的构建?
你可以在“How do I build a Docker image for a Ruby project without build tools?”中看到一个替代品
>我使用图像来构建,>我将生成的已停止的容器作为新映像提交(包含生成的二进制文件的卷)>我使用执行图像(只包含您需要运行的图像),并从另一图像复制二进制文件.我再次提交生成的容器.
最终图像包括已编译的二进制文件和执行环境.