docker 存储之volume
1. bind mount 挂载任意目录或文件
创建挂载点并且挂载docker目录或者文件:
mkdir -p /data/test/
echo "bind mount test" > /data/test/test.txt
docker run -tid --name bind_mount_test -v /data/test/:/data/test/ docker.io/centos
查看:
docker exec bind_mount_test cat /data/test/test.txt
bind mount test
修改容器中对应的文件内容,验证本地内容是否改变:
docker exec echo "hello word" > /data/test/test.txt
cat /data/test/test.txt
hello word
问题:
一般在直接执行以上操作时,查看容器对应的挂载目录内容时会报如下错误:
cannot open directory .: Permission denied
原因以及解决方案
原因:centos7中安全模块selinux把权限禁掉了。
解决方案:添加linux规则,把要挂载的目录添加到selinux白名单
执行:chcon -Rt svirt_sandbox_file_t /data/
博客著作权归本作者所有,任何形式的转载都请联系作者获得授权并注明出处。
网友评论