解決docker掛載的目錄無法讀寫問題
使用下面的命令可以創(chuàng)建一個容器并且把本地的/home/dock/Downloads目錄掛載到容器中的/usr/Downloads中
[root@docker ~]# docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu /bin/bash
在Centos上創(chuàng)建完后,會出現(xiàn)如下問題
root@637fe9ea94f0:/usr/Downloads# lsls: cannot open directory ’.’: Permission denied解決辦法:
原因是CentOS7中的安全模塊selinux把權(quán)限禁掉了,
有以下幾種方式解決掛載的目錄沒有權(quán)限的問題:
1.在運行容器的時候,給容器加特權(quán),及加上 --privileged=true 參數(shù):
docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash
2.臨時關(guān)閉selinux:
setenforce 0
3.添加selinux規(guī)則,改變要掛載的目錄的安全性文本
補(bǔ)充:docker掛載文件夾后不能訪問,沒有權(quán)限
輸入docker run 后掛載的文件夾不能訪問,沒有權(quán)限例如:
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
將主機(jī)的workspace文件夾與容器的/root/workspace文件夾相掛載,但是在主機(jī)上不能向workspace文件夾中寫入數(shù)據(jù)。因為此時文件夾的擁有者為root。
可以執(zhí)行命令:sudo chown -R $USER 文件夾位置(/workspace)
文件夾就可以進(jìn)行讀寫了。但是重啟后需要重新執(zhí)行上述命令。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. Intellij IDEA 2019 最新亂碼問題及解決必殺技(必看篇)2. JS繪圖Flot如何實現(xiàn)動態(tài)可刷新曲線圖3. ASP.NET MVC獲取多級類別組合下的產(chǎn)品4. 未來的J2EE主流應(yīng)用框架:對比Spring和EJB35. Android自定義View實現(xiàn)掃描效果6. 關(guān)于HTML5的img標(biāo)簽7. PHP5.0正式發(fā)布 不完全兼容PHP4 新增多項功能8. Android Manifest中meta-data擴(kuò)展元素數(shù)據(jù)的配置與獲取方式9. JS+css3實現(xiàn)幻燈片輪播圖10. 利用django創(chuàng)建一個簡易的博客網(wǎng)站的示例
