Linux
docker容器內的’/tmp’文件夾的權限從哪裡繼承?
我有一個 PHP docker 容器無法開始說
'session_start' don't have permissions on /tmp/xxxx file.
我發現 ‘/tmp’ 文件夾的權限是**
'drwxr-xr-t'
. 當我將其更改為 時'drwxrwxrwt'
**,容器正常工作。我可能對我的主機系統做錯了什麼來調試另一個不相關的問題。但我不記得我做了什麼以及可能導致上述問題的原因。
所以我想知道 docker 容器內的 ‘/tmp’ 文件夾的權限是從哪裡繼承的?
提前致謝。:)
您應該在 Dockerfile 中找到答案。
基礎鏡像已經有那些錯誤的權限,或者 Dockerfile 在鏡像建構期間做錯了什麼。
在這兩種情況下,您都可以在 Dockerfile 中修復這個問題,然後重建一個新鏡像。
查看您使用的基本映像,
/tmp
權限設置正確:$ docker run -it --rm php:5-apache ls -ald /tmp drwxrwxrwt 1 root root 4096 Jan 23 00:10 /tmp
這意味著對文件夾權限的修改已經發生在您這邊,無論是在您的 Dockerfile 中的某個步驟建構您的映像時,還是在您執行容器的方式中。如果沒有您的 Dockerfile 或用於執行容器的命令的詳細資訊(包括 docker-compose.yml 文件,如果您使用的話),我認為不可能給出更詳細的答案。