使用docker-compose和多阶段Dockerfile共享构建逻辑

3
我正在使用 docker-compose 和多阶段 Dockerfile 来构建和运行多个服务。这种方法可行,但是每个服务的 Dockerfile 的“build”部分很大程度上是复制并粘贴的。我希望将复制粘贴量降至最少/将通用构建逻辑集中在一个位置。
在阅读https://engineering.busbud.com/2017/05/21/going-further-docker-multi-stage-builds/之后,我发现可以创建一个本地镜像,其中包含共享构建步骤,并且服务 Docker 文件会依赖于它。但是,我希望开发体验更简单,只需执行docker-compose up即可。创建本地构建映像意味着开发人员必须知道首先运行docker build [common_build_image]以使构建映像存在于本地,然后运行docker compose up以构建并运行所有依赖于它的服务。
似乎没有一种方法可以将 Dockerfile 包含到另一个 Dockerfile 中。 FROM 似乎不支持本地路径。
有没有办法实现我的目标?当然,我可以使用 shell 脚本将一切绑定在一起,但这基本上就是多阶段构建试图解决的问题。

1
我不是很清楚你哪一部分不好或者你不理解的是哪一部分。在docker-compose中,你可以首先使用“build:”来构建你的辅助镜像,在后续的服务中,你可以在下一个构建的Dockerfile中使用这个辅助镜像,这不是你所问的吗? - lvthillo
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接