Tengo un contenedor docker PHP que no pudo comenzar a decir eso 'session_start' don't have permissions on /tmp/xxxx file.
Descubrí que el permiso de la carpeta '/ tmp ' es 'drwxr-xr-t'. Cuando lo cambio a 'drwxrwxrwt', el contenedor funciona con normalidad.
Es posible que haya hecho algo mal en mi sistema host para depurar otro problema no relacionado. Pero no recuerdo lo que he hecho y lo que podría causar el problema anterior.
Entonces, quiero saber de dónde heredan los permisos de la carpeta '/tmp' dentro de un contenedor docker.
Mirando la imagen base que usa, el /tmp los permisos están configurados correctamente:
$ docker run -it --rm php:5-apache ls -ald /tmpdrwxrwxrwt 1 root root 4096 Jan 23 00:10 /tmp
Esto significa que la modificación del permiso de carpeta ha ocurrido de su lado, ya sea en la construcción de su imagen a partir de algún paso en su Dockerfile, o en la forma en que ejecuta su contenedor. Sin detalles de su Dockerfile o comandos utilizados para ejecutar su contenedor (incluido un docker-compose.archivo yml si usa uno), no creo que sea posible dar una respuesta más detallada.
Si la imagen es buena, lo siguiente que hay que comprobar son los enlaces y los montajes de volumen, ya que pueden estropear las cosas. También vale la pena verificar cualquier script de punto de entrada en caso de que estén haciendo algo tonto.
@BMitch Mi imagen es 'DE php: 5-apache ‘que luego es’ DE debian:stretch-slim ‘que luego es’DESDE cero’. Ninguno de ellos modifica los permisos de ‘/tmp’ explícitamente.
¿Puede proporcionar la imagen utilizada y / o el Dockerfile utilizado para crear su imagen? Incluya también el comando que usa para iniciar el contenedor, incluida cualquier composición.archivo yml.