Dockerfile ADD嵌套目录覆盖文件系统

时间:2019-12-10 10:22:22

标签: docker centos dockerfile centos7

我有两种类型的Dockefile:一种是所有应用程序通用的,另一种包含应用程序特定的部分。两者我都有这样的东西

ADD fs /

其中,fs包含子目录(如bin等),可选。当然,在特定于应用程序的容器上,这些子目录中还有一些其他文件。当容器操作系统是Ubuntu时,它可以正常工作。我需要使用Centos 7作为基本OS,这会引起问题。在特定于应用程序的容器上,我导入了基础容器,在构建期间,它在处理RUN命令时有时会失败。我能够进入容器,令我惊讶的是,我发现在rootfs上仅在构建链中的最后一个容器上添加了文件。神秘地,先前的目录结构被覆盖。当我添加类似这样的内容时:

ADD fs/etc /etc
ADD fs/bin /bin
ADD fs/opt /opt

然后在生成的容器中,我从基本和特定于应用程序的容器中获取目录内容。这是为什么? Docker bug? CentOS和Docker错误?我最初的印象是设备驱动程序可能出了点问题,但是aufs和overlay2的行为完全相同,COPY命令也是如此。我尝试了其他变体:。 ./ ./fs/。还是我不知道某些特定于CentOS的魔术?

0 个答案:

没有答案