解决docker挂载的目录无法读写问题

2025-05-27 0 94

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

?

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

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

?

1

2
root@637fe9ea94f0:/usr/Downloads# ls

ls: cannot open directory '.': Permission denied

解决办法:

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

有以下几种方式解决挂载目录没有权限的问题:

1.在运行容器的时候,给容器加特权,及加上 –privileged=true 参数:

?

1
docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash

2.临时关闭selinux:

?

1
setenforce 0

3.添加selinux规则,改变要挂载目录的安全性文本

补充:docker挂载文件夹后不能访问,没有权限

输入docker run 后挂载的文件夹不能访问,没有权限

例如:

?

1
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。

可以执行命令:

?

1
sudo chown -R $USER 文件夹位置(/workspace)

文件夹就可以进行读写了。但是重启后需要重新执行上述命令。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持快网idc。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/gzhouc/article/details/71330578

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 解决docker挂载的目录无法读写问题 https://www.kuaiidc.com/64779.html

相关文章

发表评论
暂无评论