1. 程式人生 > 其它 >docker中遇到檔案無法寫入宿主檔案問題(Permission denied)

docker中遇到檔案無法寫入宿主檔案問題(Permission denied)

技術標籤:dockerdockerlinuxcentos

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,有說錯的地方請指出來謝謝。