gpt4 book ai didi

linux - `cp` 对比 `rsync` 对比更快的东西

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:08 24 4
gpt4 key购买 nike

我正在使用 Docker 并且 Docker 无法将符号链接(symbolic link)文件COPY 到图像中。但是符号链接(symbolic link)的文件不在“构建上下文”中。所以我打算用 cp 将它们复制到构建上下文中,但这真的很慢。有没有什么方法可以共享磁盘上两个不同位置的文件,而无需复制它们并且不使用符号链接(symbolic link)?

最佳答案

这是不允许的,也不会是

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

We do not allow this because it's not repeatable. A symlink on your machine is the not the same as my machine and the same Dockerfile would produce two different results. Also having symlinks to /etc/paasswd would cause issues because it would link the host files and not your local files.

如果你有每个容器都需要的公共(public)文件,那么我会将它们全部放在一个共享镜像中并使用 docker multi 构建选项

FROM mysharedimage as shared

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

这仍然不是最优雅的解决方案,但是,因为当您执行 docker build 时,当前上下文被压缩并发送到 docker 守护进程,软链接(soft link)将不起作用。

您可以创建硬链接(hard link),但硬链接(hard link)会指向 inode,并且不会向您显示它们指向的文件。其他软链接(soft link)会告诉您它们指向的位置,但构建不会发送它们。

ln /source/file /dest/file

所以你的电话真的是你想做什么以及你想怎么做。

关于linux - `cp` 对比 `rsync` 对比更快的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46135315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com