docker访问主机挂在目录时显示Permission denied
一、环境
CentOS 7
docker 1.12
二、现象
#docker run -d --name k8 -p 80:80 -v /home/cloud9/workspace:/workspace kdelfour/cloud9-docker
#docker exec -it k8 /bin/bash
#cd /workspace/
#ls
ls: cannot open directory .: Permission denied
三、解决办法
原因:CentOS 7中默认安全设置Selinux开启的原因
有三种办法解决:
- 在运行容器时,给容器加特权,即加上
--privileged=true
参数- 关闭selinux,即宿主机中运行
#setenforce 0
命令- 添加selinux规则,改变挂载目录的安全性文本
chcon [-R] [-t type] [-u user] [-r role] 文件或者目录 chcon -Rt svirt_sandbox_file_t /soft