标签:
1. 在挂载主机目录的到容器后,操作挂载的目录出现权限问题:
# 将主机上的/data/share/master目录挂载到容器的/opt/share目录
docker run -it --name=master --hostname=master -v /data/share/master:/opt/share centos-hadoop /bin/bash
[root@master share]# pwd #进入挂载目录 /opt/share [root@master share]# touch hello #建立新文件 touch: cannot touch ‘hello‘: Permission denied # 无权建立文件
2. 问题原因及解决
原因是CentOS7中的安全模块selinux把权限禁掉了,至少有以下三种方式解决挂载的目录没有权限的问题:
2.1 在运行容器的时候,给容器加特权,也就是加上 --privileged=true 参数:
如下运行容器则无此问题:
docker run -it --name=master --hostname=master -v /data/share/master:/opt/share --privileged=true centos-hadoop /bin/bash
2.2 临时关闭selinux:
setenforce 0
2.3 添加selinux规则,将要挂载的目录添加到白名单
暂时不会,正在学习中
Docker使用-v挂载主机目录到容器后出现Permission denied
标签:
原文地址:http://www.cnblogs.com/linux-wangkun/p/5746107.html