我配置了一个从本地目录到 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
命令检查这种情况。