Já tive problemas similares Txug0
, infelizmente utilizando o depends do docker, em teoria o container operacional do docker do seu rabbitmq já subiu, mas o rabbit ainda está inciando e subindo os serviços internos.
O que eu fiz para resolver foi que se preciso que a aplicação espere outro serviço iniciar antes dela, eu utilizo utilizar o netcat nc
para testar conexão com o IP e PORTA a cada dois segundos e enquanto não tiver conexão a aplicação não inicia, "travando" o terminal nessa etapa. (segue um exemplo e abixo ou no repo aqui)
entripoint.sh
wait_rabbitmq() {
while ! nc -z 127.0.0.1 5672; do
echo "Aguardando RabbitMQ iniciar..."
sleep 2
done
}
wait_rabbitmq
Tenho um exemplo em um projeto teste que fiz recentemente https://github.com/gabolera/df-php-project/blob/main/worker-importer/entrypoint-node.sh