我正在使用docker-compose
多阶段 Dockerfile 来构建和运行多个服务。这可行,但每个多阶段构建的“构建”部分主要是在每个服务的 Dockerfile 之间复制和粘贴。我想在一个地方减少复制和粘贴/集中通用构建逻辑。
阅读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 脚本将所有内容联系在一起,但这基本上是多阶段构建首先要解决的问题。