在Cent OS 7中运行,发现挂载的本地目录在容器中没有执行权限,原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:

1,在运行容器的时候,给容器加特权:--privileged=true

示例:docker run -i -t --privileged=true -v /home/docs:/src centos/tomcat

2,临时关闭selinux:

示例:su -c "setenforce 0"
之后执行:docker run -i -t -v /home/docs:/src centos/tomcat
 

注意:之后要记得重新开启selinux,命令:su -c "setenforce 1"

3,添加selinux规则,将要挂载的目录添加到白名单:

示例:chcon -Rt svirt_sandbox_file_t /home/docs
之后执行:docker run -i -t -v /home/docs:/src centos/tomcat
 

原文出处:http://www.linuxidc.com/Linux/2015-03/115124.htm

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐