解決docker掛載的目錄無(wú)法讀寫(xiě)問(wèn)題
使用下面的命令可以創(chuàng)建一個(gè)容器并且把本地的/home/dock/Downloads目錄掛載到容器中的/usr/Downloads中
[root@docker ~]# docker run -it -v /home/dock/Downloads:/usr/Downloads ubuntu /bin/bash
在Centos上創(chuàng)建完后,會(huì)出現(xiàn)如下問(wèn)題
root@637fe9ea94f0:/usr/Downloads# lsls: cannot open directory ’.’: Permission denied解決辦法:
原因是CentOS7中的安全模塊selinux把權(quán)限禁掉了,
有以下幾種方式解決掛載的目錄沒(méi)有權(quán)限的問(wèn)題:
1.在運(yùn)行容器的時(shí)候,給容器加特權(quán),及加上 --privileged=true 參數(shù):
docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash
2.臨時(shí)關(guān)閉selinux:
setenforce 0
3.添加selinux規(guī)則,改變要掛載的目錄的安全性文本
補(bǔ)充:docker掛載文件夾后不能訪問(wèn),沒(méi)有權(quán)限
輸入docker run 后掛載的文件夾不能訪問(wèn),沒(méi)有權(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文件夾中寫(xiě)入數(shù)據(jù)。因?yàn)榇藭r(shí)文件夾的擁有者為root。
可以執(zhí)行命令:sudo chown -R $USER 文件夾位置(/workspace)
文件夾就可以進(jìn)行讀寫(xiě)了。但是重啟后需要重新執(zhí)行上述命令。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 利用CSS3新特性創(chuàng)建透明邊框三角2. AJAX實(shí)現(xiàn)數(shù)據(jù)的增刪改查操作詳解【java后臺(tái)】3. PHP 使用 Trait 解決 PHP 單繼承問(wèn)題詳解4. Python腳本文件外部傳遞參數(shù)的處理方法5. ajax post下載flask文件流以及中文文件名問(wèn)題6. Python collections模塊的使用方法7. 使用css實(shí)現(xiàn)全兼容tooltip提示框8. WML語(yǔ)言的基本情況9. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能10. 如何通過(guò)vscode運(yùn)行調(diào)試javascript代碼
