无法从 docker 中的绑定挂载读取现有文件

无法从 docker 中的绑定挂载读取现有文件

我配置了一个从本地目录到 docker 容器中目录的绑定挂载。我能够写入和读取挂载,但当我尝试读取本地目录中已存在的文件时,出现错误No such file or directory

root@7206541d128a:/var/lib/myapp/testdata# ls
file_a.txt
root@7206541d128a:/var/lib/myapp/testdata# cat file_a.txt
cat: file_a.txt: No such file or directory
root@7206541d128a:/var/lib/myapp/testdata# echo hi > file_b.txt
root@7206541d128a:/var/lib/myapp/testdata# cat file_b.txt
hi

以下是来自的坐骑信息docker inspect

"Mounts": [
            {
                "Type": "bind",
                "Source": "/path/to/local/dir",
                "Destination": "/var/lib/myapp/testdata",
                "Mode": "rw",
                "RW": true,
                "Propagation": "rprivate"
            },

我如何从容器内的这个挂载中读取现有文件?

答案1

如果bind mount中的文件是符号链接文件,则会访问链接路径容器文件系统内部并且很可能会失败。您可以使用ls -l命令检查这种情况。

相关内容