У меня контейнер докеров PHP не смог начать говорить, что 'session_start' don't have permissions on /tmp/xxxx file.
Я обнаружил, что разрешение папки '/ tmp' 'drwxr-xr-t'
. Когда я меняю его на 'drwxrwxrwt'
, контейнер работает в обычном режиме.
Я мог сделать что-то не так с моей хост-системой, чтобы отладить другую, не связанную с этим проблему. Но я не помню, что я сделал и что могло вызвать указанную выше проблему.
Итак, я хочу знать, откуда унаследованы разрешения папки '/ tmp' внутри контейнера докеров?
Заранее спасибо. :)
Глядя на базовое изображение, которое вы используете, /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, если вы его используете), я не верю, что возможно дать более подробный ответ.
Вы должны найти ответ в Dockerfile.
Либо в базовом образе уже есть неправильные перма, либо Dockerfile делает что-то плохое во время сборки образа.
В обоих случаях вы можете просто исправить эту проблему в Dockerfile и пересобрать новый образ.