Eu tenho tentado fazer com que esses dois iniciem quando minha imagem do docker é iniciada, mas eles nunca parecem iniciar.
[supervisord]
nodaemon=true
[program:rsyslog]
command=/bin/bash "service rsyslog start"
[program:haproxy]
command=/bin/bash "service haproxy start"
Qual comando é necessário para iniciar ambos na ordem de rsyslog primeiro e depois haproxy?
Isso não vai funcionar porque
service ... start
o comando inicia o programa como daemon e o envia em segundo plano. Osupervisord
não pode lidar com isso, mas precisa iniciá-los como subprocessos e executá-los em forground. Veja aqui :Aqui está um exemplo de configuração de programa do “mundo real” da documentação do supervisord :
Apache 2.2.6:
Os scripts de inicialização do seu programa podem ser um bom lugar para descobrir como o programa inicia, para uma configuração adequada.
Alguns exemplos estão aqui
No entanto, agora devo atrasar o início do haproxy, pois o haproxy requer que o rsyslog seja iniciado com antecedência. Isso, porém, é outro problema.
Você precisa colocar algo assim, basta ajustar os parâmetros
Cumprimentos,