docker容器内挂载目录无权限 ls cannot open directory Permission denied
docker运行一个容器,将主机中当前目录下的文件夹挂载到容器的文件夹后,进入到docker容器内对应的挂载目录中,运行命令ls后提示:
1 | ls: cannot open directory .: Permission denied |
问题原因及解决办法
原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:
- 1.在运行容器的时候,给容器加特权,及加上
--privileged=true
参数:
1 | docker run -d -t --privileged=true xxx |
- 2.如果使用的是docker-compose,则在配置文件中加上
-privileged=true
环境变量:
1 | environment: |
- 3.临时关闭selinux:
1 | setenforce 0 |
- 4.添加selinux规则,改变要挂载的目录的安全性文本。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 zane!
评论