Meu contêiner PHP executa fantoches para gerar PDF. Ao gerar um documento PDF, ele também cria dois arquivos principais de despejo dentro do meu contêiner. Não sei de onde eles realmente vêm.
O host / servidor é o CentOS 7.
Eu verifiquei o seguinte:
- Nenhum log de erros do aplicativo, o Browsershot / puppeteer está sendo executado sem erros.
- Nenhum log de erro (por exemplo, segfault) foi encontrado em
/var/log/messages
Eu tentei desativar os dumps principais
Seguindo a seção Desativar core dumps de https://linux-audit.com/understand-and-configure-core-dumps-work-on-linux/ , eu fiz:
- Adicionando o seguinte conteúdo ao
/etc/security/limits.conf
* soft core 0
* hard core 0
Criou um disable-core-dumps.sh ao:
echo “ulimit -c 0 > /dev/null 2>&1” > /etc/profile.d/disable-coredumps.sh
Adicionado o seguinte conteúdo para
/etc/systemd/coredump.conf
[Coredump]
Storage=none
ProcessSizeMax=0
E reinicie o servidor e o contêiner .
Eu também tentei colocar
ulimit -c 0
dentro do contêiner (alpino)
Nenhum dos truques acima funciona para mim. Sempre que o operador de marionetes gera um PDF, ele sempre cria dois arquivos principais de despejo, como abaixo:
core.131 core.52
Os arquivos principais são parecidos com:
Alguém pode me ajudar a desativar os core dumps? Muito obrigado.
Respostas:
Você deve iniciar seu contêiner com a opção
--ulimit core=0
de desativar os coredumps.Referência: https://docs.docker.com/engine/reference/commandline/run/#set-ulimits-in-container---ulimit
Exemplo
No host, defina temporariamente o caminho do coredump
/tmp
para verificação:Inicie um contêiner como de costume e force um dump principal:
Agora, com
--ulimit core=0
:fonte
entrypoint.sh
, no mesmo comando que inicia o aplicativo phpEu também tenho esse problema no serviço docker swarm e --ulimit core = 0 não funciona no serviço swarm, usei o comando abaixo e trabalhei para mim no serviço docker swarm!
sysctl -w kernel.core_pattern = / dev / null
fonte