解决docker挂载的目录无法读写问题
使用下面的命令可以创建一个容器并且把本地的/home/dock/Downloads目录挂载到容器中的/usr/Downloads中
创新互联专注于中大型企业的成都网站建设、成都做网站和网站改版、网站营销服务,追求商业策划与数据分析、创意艺术与技术开发的融合,累计客户成百上千家,服务满意度达97%。帮助广大客户顺利对接上互联网浪潮,准确优选出符合自己需要的互联网运用,我们将一直专注成都品牌网站建设和互联网程序开发,在前进的路上,与客户一起成长!
[root@docker ~]# docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu /bin/bash在Centos上创建完后,会出现如下问题
root@637fe9ea94f0:/usr/Downloads# lsls: cannot open directory '.': Permission denied解决办法:原因是CentOS7中的安全模块selinux把权限禁掉了,
有以下几种方式解决挂载的目录没有权限的问题:
1.在运行容器的时候,给容器加特权,及加上 --privileged=true 参数:
docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash2.临时关闭selinux:
setenforce 03.添加selinux规则,改变要挂载的目录的安全性文本
补充:docker挂载文件夹后不能访问,没有权限
输入docker run 后挂载的文件夹不能访问,没有权限例如:
sudo nvidia-docker run -p 8090:8888 -p 8091:80 -p 8092:6666 --name=pytorch0.4 -v ~/workspace:/root/workspace -i --shm-size 31G -t dsksd/pytorch:0.4.1 /bin/bash将主机的workspace文件夹与容器的/root/workspace文件夹相挂载,但是在主机上不能向workspace文件夹中写入数据。因为此时文件夹的拥有者为root。
可以执行命令:sudo chown -R $USER 文件夹位置(/workspace)文件夹就可以进行读写了。但是重启后需要重新执行上述命令。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。
新闻标题:解决docker挂载的目录无法读写问题
本文URL:http://hbruida.cn/article/idsdpo.html