解決docker掛載的目錄無(wú)法讀寫問題
使用下面的命令可以創(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)如下問題
root@637fe9ea94f0:/usr/Downloads# lsls: cannot open directory ’.’: Permission denied解決辦法:
原因是CentOS7中的安全模塊selinux把權(quán)限禁掉了,
有以下幾種方式解決掛載的目錄沒有權(quá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掛載文件夾后不能訪問,沒有權(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ù)。因?yàn)榇藭r(shí)文件夾的擁有者為root。
可以執(zhí)行命令:sudo chown -R $USER 文件夾位置(/workspace)
文件夾就可以進(jìn)行讀寫了。但是重啟后需要重新執(zhí)行上述命令。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章:
1. 詳解Android studio 動(dòng)態(tài)fragment的用法2. 什么是python的自省3. 基于android studio的layout的xml文件的創(chuàng)建方式4. 解決Android studio xml界面無(wú)法預(yù)覽問題5. .Net Core使用Coravel實(shí)現(xiàn)任務(wù)調(diào)度的完整步驟6. Vuex localStorage的具體使用7. Android如何加載Base64編碼格式圖片8. 圖文詳解vue中proto文件的函數(shù)調(diào)用9. vue實(shí)現(xiàn)從外部修改組件內(nèi)部的變量的值10. Vue3狀態(tài)管理的使用詳解

網(wǎng)公網(wǎng)安備