您的位置:首頁技術文章
文章詳情頁

解決docker掛載的目錄無法讀寫問題

瀏覽:82日期:2024-11-03 17:53:37

使用下面的命令可以創建一個容器并且把本地的/home/dock/Downloads目錄掛載到容器中的/usr/Downloads中

[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/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
相關文章:
国产综合久久一区二区三区