Eu tenho um contêiner Docker PHP não conseguiu começar a dizer que 'session_start' don't have permissions on /tmp/xxxx file.
Descobri que a permissão da pasta '/tmp ' é 'drwxr-xr-t'. Quando eu mudar para 'drwxrwxrwt', o recipiente funciona normalmente.
Posso ter feito algo errado com meu sistema host para depurar outro problema não relacionado. Mas não me lembro do que fiz e o que poderia causar o problema acima.
Então, eu quero saber de onde as permissões da pasta '/tmp' dentro de um contêiner docker herdado?
Olhando para a imagem base que você usa, o /tmp as permissões são definidas corretamente:
$ docker run -it --rm php:5-apache ls -ald /tmpdrwxrwxrwt 1 root root 4096 Jan 23 00:10 /tmp
Isso significa que a modificação na permissão da pasta aconteceu do seu lado, seja na construção de sua imagem a partir de alguma etapa do seu Dockerfile ou em como você executa seu contêiner. Sem detalhes do seu Dockerfile ou comandos usados para executar seu contêiner (incluindo um Docker-compose.arquivo yml se você usar um), não acredito que seja possível dar uma resposta mais detalhada.
Se a imagem for boa, a próxima coisa a verificar é que você liga e aumenta o volume, pois eles podem bagunçar as coisas. Também vale a pena verificar qualquer script de ponto de entrada emcaso eles estejam fazendo algo bobo.
@ BMitch minha imagem é ‘do php: 5-apache’ que é então ‘do debian: stretch-slim’ que é então ‘do zero’. Nenhum deles modifica explicitamente as permissões de ‘/tmp’.
Você pode fornecer a imagem usada e / ou Dockerfile usado para construir sua imagem? Inclua também o comando que você usa para iniciar o contêiner, incluindo qualquer composição.arquivo yml.