合并文件树与父Docker图像

上下文

我有以下文件树:

. |-- Parent | |-- root | | |-- foo | | | |-- a | | | `-- b | | `-- bar | `-- Dockerfile `-- Child |-- root | |-- foo | | |-- c | | `-- d | `-- baz `-- Dockerfile 

在我父母的Dockerfile中,我有:

 FROM centos:centos7 COPY root / 

在我孩子的Dockerfile中,我有:

 FROM Parent COPY root / 

预期

我希望以下文件在我的孩子的形象:

 / |-- foo | |-- a | |-- b | |-- c | `-- d |-- bar `-- baz 

结果

我得到的是这个不完整的树:

 / |-- foo | |-- c | `-- d |-- bar `-- baz 

看起来Docker只合并目录的顶层:

  • 它看到目录foo已经存在,并覆盖它的孩子
  • 它认为baz不存在,只是增加它

我想我所追求的是某种recursion逻辑,它recursion地将相同的行为应用于所有目录,而不是在第一级之后停止并覆盖所有的东西。


问题

  1. 目前是由Docker支持的吗?
  2. 如果没有,是否有解决方法或最佳实践?
  3. 如果没有,pipe道中是否有任何东西?