温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

docker挂载的目录无法读写怎么办

发布时间:2021-03-19 10:18:27 来源:亿速云 阅读:353 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关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规则,改变要挂载的目录的安全性文本

补充: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挂载的目录无法读写怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI