如何挤压Dockerfiles?

假设我有一个图像层次结构,一个从另一个inheritance:

  • B:从A
  • C:从B
  • D:从C

A是标准的基础图像,B,C,D是我自己的图像。

现在我需要为D'创build一个Dockerfile,同样来自B,C和D的Docker文件,但是基于不同的基本映像 – A'。

我可以想到几个方法来实现这一点:

  1. 为B创builddockerfile,与B相同,但是从Ainheritance。 C'和D'一样。
  2. 为D'创build一个全新的Dockerfile,使用基本映像A'并复制来自B,C和D的dockerfiles的所有命令。

有没有更好的方法来实现这一目标? 我想一个可以做#2的工具/ scrtip可能就足够了。