docker挂载的目录无法读写

使用下面的命令可以创建一个容器并且把本地的/home/dock/Downloads目录挂载到容器中的/usr/Downloads中

[root@docker ~]# docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu /bin/bash


在Centos上创建完后,会出现如下问题

root@637fe9ea94f0:/usr/Downloads# ls
ls: cannot open directory '.': Permission denied


解决办法:

   原因是CentOS7中的安全模块selinux把权限禁掉了,

   有以下几种方式解决挂载的目录没有权限的问题:
   1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数:
          docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash
   2.临时关闭selinux:
          setenforce 0
   3.添加selinux规则,改变要挂载的目录的安全性文本

原文地址:https://www.cnblogs.com/double12gzh/p/10166103.html