解決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# ls ls: cannot open directory '.': Permission denied
解決辦法:
原因是CentOS7中的安全模塊selinux把權限禁掉了,
有以下幾種方式解決掛載的目錄沒有權限的問題:
1.在運行容器的時候,給容器加特權,及加上 --privileged=true 參數(shù):
docker run -i -t -v /soft:/soft --privileged=true 637fe9ea94f0 /bin/bash
2.臨時關閉selinux:
setenforce 0
3.添加selinux規(guī)則,改變要掛載的目錄的安全性文本
補充: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文件夾中寫入數(shù)據(jù)。因為此時文件夾的擁有者為root。
可以執(zhí)行命令:
sudo chown -R $USER 文件夾位置(/workspace)
文件夾就可以進行讀寫了。但是重啟后需要重新執(zhí)行上述命令。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關文章
docker實現(xiàn)導出、導入和數(shù)據(jù)搬遷
本篇文章主要介紹了docker實現(xiàn)導出、導入和數(shù)據(jù)搬遷,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07SpringBoot打包docker鏡像發(fā)布的詳細步驟
這篇文章主要介紹了SpringBoot打包docker鏡像發(fā)布,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04Docker學習之數(shù)據(jù)卷和Dockerfile詳解
在容器化應用的開發(fā)和部署過程中,數(shù)據(jù)的持久化和共享是一個重要的問題,下面這篇文章主要給大家介紹了關于Docker學習之數(shù)據(jù)卷和Dockerfile的相關資料,需要的朋友可以參考下2024-04-04Docker部署Logstash同步Mysql數(shù)據(jù)到ES方式
本文介紹了如何搭建ELK(Elasticsearch, Logstash, Kibana)日志系統(tǒng),包括配置文件準備、Logstash與Elasticsearch部署、驅動文件準備、配置文件編輯、容器操作以及日志查看等步驟,文章內(nèi)容是作者的個人經(jīng)驗分享2024-10-10