是否可以在docker-compose中创建中间图像?

时间:2016-04-27 00:20:33

标签: docker-compose

想象一下两个docker撰写服务,其图像具有以下RUN步骤:

FROM base
RUN step1
RUN step2

FROM base
RUN step1
RUN step3

假设每一步都有点冗长。

如上所述,有两个Dockerfile s的天真方法是次优的(因为step1在初始docker-compose up期间执行两次)而不是DRY(step1重复两次,如果step1非常复杂则特别糟糕)

我看到的另一种方法是手动创建intermediate图片:

FROM base
RUN step1

然后与这两个Dockerfile s:

一起使用
FROM intermediate
RUN step2

FROM intermediate
RUN step3

不是最理想的,因为docker-compose up将不再开箱即用,因为它将要求用户首先手动创建此中间图像。

是否完全在docker-compose内完成此操作?

1 个答案:

答案 0 :(得分:2)

第一步是什么?如果守护进程缓存并重用它,它是否真的相同。没有设置可以预先构建'一张图片供以后使用。它被认为超出了撰写范围 - https://github.com/docker/compose/issues/1547#issuecomment-112254616