Docker遵循上下文之外的符号链接

又一个Docker符号链接问题。 我有一堆我想复制到我所有的Docker版本的文件。 我的目标结构是:

parent_dir - common_files - file.txt - dir1 - Dockerfile - symlink -> ../common_files 

在上面的例子中,当我在Docker内部构builddir1时,我想file.txt被复制过来。 但我不想维护file.txt的多个副本。 通过这个链接,作为docker版本0.10 ,docker build必须

按照容器的根目录中的符号链接添加构build指令。

但是当我在Dockerfile中使用这两行时,我没有得到这样的文件或目录

ADD symlink /path/dirnameADD symlink/file.txt /path/file.txt

挂载选项将不会为我解决(跨平台…)。 我试过tar -czh . | docker build -t tar -czh . | docker build -t tar -czh . | docker build -t没有成功。

有没有办法让Docker跟随符号链接并将common_files / file.txt复制到构build的容器中?

这是不可能的,不会被执行。 请看看关于github问题#1676的讨论 :

我们不允许这样做,因为它不可重复。 你的机器上的符号链接和我的机器不一样,相同的Dockerfile会产生两个不同的结果。 也有符号链接到/ etc / paasswd会导致问题,因为它会链接主机文件,而不是你的本地文件。

Interesting Posts