docker中遇到檔案無法寫入宿主檔案問題(Permission denied)
阿新 • • 發佈:2021-01-05
docker中遇到檔案無法寫入宿主檔案問題(Permission denied)
一、compose-docker 啟動專案
使用compose-docker up -d 啟動專案出現相對應的服務沒有啟動(本次以nginx為例)訪問web沒有出現想要的介面。
使用docker ps 剛啟動可以看到相關埠,啟動後過會狀態變為restarting如圖所示:
docker ps #檢視執行的在docker中的程序
二、檢視相關日誌
使用docker logs 容器ID
docker logs ee9625867134
發現因為許可權不夠無法開啟宿主/etc/nginx/nginx.conf檔案
三、解決思路
遇到檔案許可權檔案問題第一個想到問題,是不是由於資料夾的使用者不同,或者某個檔案沒有相對應的許可權。使用
ll 或者ls -l #檢視對應的資料夾的使用者組和許可權問題
發現使用者都是在root使用者下,docker 也是執行在root下所以使用者組不同問題排除。
chmod 777 檔名#賦予該檔案讀寫執行的最大許可權
問題依舊存在。
四、問題解決方法
造成其中原因是由於其中Centos 預設開啟了SElinux。使用
setenforce 0 #臨時關閉
臨時關閉SElinux
重新啟動docker 容器,問題就解決了。
此方法只是臨時解決,大家可以永久關閉SElinux。
ps:本人剛剛接觸docker,有說錯的地方請指出來謝謝。