解決docker掛載的目錄無法讀寫問題
使用下面的命令可以創(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# ls ls: 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è)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
基于docker-compose構(gòu)建Mongodb副本集的示例詳解
副本集是?MongoDB?高可用性和數(shù)據(jù)安全性策略的基礎(chǔ),適用于對(duì)數(shù)據(jù)安全性和服務(wù)可用性有較高要求的場(chǎng)景,本文給大家介紹了如何基于docker-compose構(gòu)建Mongodb副本集,文中通過代碼示例給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Docker容器Container鏡像Image如何存儲(chǔ)詳解
本文主要介紹Docker容器(Container)和鏡像(Image)是如何進(jìn)行數(shù)據(jù)存儲(chǔ)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
解決docker 容器設(shè)置中文語言包出現(xiàn)的問題
這篇文章主要介紹了解決docker 容器設(shè)置中文語言包出現(xiàn)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
docker使用volume和bind mount的區(qū)別及說明
文章介紹了Docker中Volume和BindMount兩種數(shù)據(jù)持久化機(jī)制的區(qū)別,Volume由Docker管理,支持?jǐn)?shù)據(jù)共享和加密,而BindMount將宿主機(jī)上的文件或目錄直接掛載到容器中,性能較好但依賴于宿主機(jī)的文件系統(tǒng)結(jié)構(gòu)2024-11-11
Docker安裝MongoDB并使用Navicat連接的操作方法
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù),MongoDB最大的特點(diǎn)是它支持的查詢語言非常強(qiáng)大,其語法有點(diǎn)類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實(shí)現(xiàn)類似關(guān)系數(shù)據(jù)庫(kù)單表查詢的絕大部分功能,這篇文章主要介紹了Docker安裝MongoDB并使用Navicat連接,需要的朋友可以參考下2022-10-10

