`cp`与`rsync`相比更快一些

我使用的是Docker,Docker不能将符号链接的文件复制到图像中。 但是符号链接的文件不在“构build上下文”中。 所以我打算用cp将它们复制到构build上下文中,但是这非常慢。 有没有办法在磁盘上的两个不同的位置共享文件,而不必复制它们,也不需要使用符号链接?

这是不允许的,它不会

https://github.com/moby/moby/issues/1676

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

如果你有每个容器都需要的公用文件,那么我会把它们全部放在一个共享的镜像中,并使用docker的多版本选项

 FROM mysharedimage as shared FROM alpine COPY --from=shared /my/common/stuff /common .... 

再次仍然不是最优雅的解决scheme,但是,因为当你做dockerbuild设当前上下文被压缩并发送到docker守护进程,软链接将无法正常工作。

您可以创build硬链接,但是硬链接指向inode,并且不显示指向哪个文件。 在其他软链接告诉你他们指向的地方,但构build不发送。

 ln /source/file /dest/file 

所以你的电话真的是你想要做的,你想怎么做。

Interesting Posts