docker cp一个带有相对符号链接的文件夹:无效的符号链接
在我的容器中,我有一个文件夹包含一个相对于父母的子文件夹的符号链接:
$ docker run --name symlink-test ubuntu bash -c "mkdir -p /1/2; touch /1/2/a; ln -s ../../usr /1/2; touch /1/2/z; ls -l /1/2" :( total 4 -rw-r--r--. 1 root root 0 Mar 4 03:37 a lrwxrwxrwx. 1 root root 9 Mar 4 03:37 usr -> ../../usr -rw-r--r--. 1 root root 0 Mar 4 03:37 z
我想将文件夹/1
复制到主机。 但是,我总是得到以下错误:
$ docker cp symlink-test:/1/2 invalid symlink "/tmp/2/usr" -> "../../usr" $ ls 2 a
复制文件失败, docker cp
在看到符号链接后中止。
有一些与此相关的Docker错误,但它们是固定的或是由不同的东西造成的:
- 当复制具有相对父path的符号链接时,FATA [0000]无效的符号链接
- 尝试到包含符号链接的cp目录时出错
我在Fedora 23上运行Docker 1.10.2。
docker cp
的上述行为是打算还是它是一个错误? 如果有意的话,背后的理由是什么?