Uso de Supervisor
Opened this issue · 1 comments
Olá!
Primeiramente gostaria de parabenizá-lo pelo repositório. É bem prático e facilita demais. Em seguida, gostaria de saber se é possível adicionar suporte nativo ao supervisor para monitoramento de processos como "websocket" e/ou "filas" do Laravel?
Eu tentei de diversas formas, mas em nenhum delas eu conseguir devido a restrições do usuário "www-data" do servidor web.
Olá AJ Meireles,
Muito obrigado, fico feliz que tenha gostado.
Eu nunca tentei colocar o supervisor dentro destes containers, como comentou,há esta peculiaridade do usuário www-data, mas acredito que deva sim ter alguma forma.
Este próximo final de semana, testarei esta possibilidade, pois fiquei curioso. Mas posso adiantar algumas ideias, sendo duas:
1 - Tentar configurar o supervisor dentro do Dockerfile(antes de trocar o usuario do container, pois antes da troca para o www-data, tudo está sendo executado como root)
2 - Tentar criar um container específico com o supervisor, conforme o exemplo deste link: https://docs.docker.com/config/containers/multi-service_container/
Note que no rodapé do tutorial, é criada uma imagem tendo o ubuntu como base, instalando o supervisor dentro, neste
caso, podemos usar a imagem do php como base e instalar o supervisor, deixando esse container do supervisor como usuário root, sendo responsável somente pelo processamento das filas/workers
[OBSERVAÇÃO]
O que reforça a segunda ideia que comentei, é que por boa prática, é recomendado que cada container tenha 1 único processo como principal(entrypoint), garantindo que não ocorram erros em um processo, afetando outro(ex: erro no processo do apache, paralizar o processo do php, debilitando o container).
Um exemplo de supervisor, seguindo esta minha sugestão, pode ser visto neste post:
http://www.inanzzz.com/index.php/post/6tik/using-supervisor-within-docker-containers
Este conceito também é valido para a utilização das CRONs(crontab), que em alguns casos, é colocado em um container separado, para ter politicas diferentes.
Espero que tenha ajudado, talvez em breve eu traga mais atualizações.
Qualquer dúvida pode chamar