1001Ferramentas
🐰Dev

docker-compose RabbitMQ

Gere um docker-compose pronto para RabbitMQ com a interface de gerenciamento habilitada, usuário, senha e portas. Suba seu broker de mensagens local na hora.

YAML

RabbitMQ com o painel de administração ligado

O RabbitMQ é uma das peças em que a versão com painel de administração vale muito mais que a versão básica durante o desenvolvimento: dá para ver filas, publicar mensagem de teste, inspecionar o que ficou preso e apagar tudo com um clique. A imagem com o painel já vem pronta, e a diferença é uma etiqueta no nome.

Informe usuário e senha e a página monta o serviço, expondo as duas portas: a do protocolo, por onde a aplicação se conecta, e a do painel, que se abre no navegador. As credenciais entram por variável de ambiente e substituem o par padrão — que é público e conhecido, e por isso nunca deve sobreviver a um ambiente acessível pela rede.

Vale saber que, sem volume declarado, tudo se perde quando o contêiner é recriado: filas, exchanges, mensagens persistidas e usuários criados pelo painel. Em desenvolvimento isso costuma ser desejável, porque garante estado limpo. Quando não for, o diretório de dados do RabbitMQ precisa ser montado como volume — e vale lembrar que o nome do nó entra na identidade dos dados, então mudar o nome do contêiner pode fazer o RabbitMQ não reconhecer o volume antigo.

Perguntas frequentes

Em qual porta fica o painel?
Na de administração, separada da porta do protocolo pela qual as aplicações se conectam. Abrir a porta do protocolo no navegador não mostra nada — é um protocolo binário, não HTTP, e a confusão entre as duas portas é o primeiro tropeço de quem está começando.
As mensagens sobrevivem ao reinício?
Só com volume declarado e com as filas e mensagens marcadas como duráveis — são condições independentes. Fila durável com mensagem não persistente perde as mensagens; mensagem persistente em fila não durável perde a fila inteira. Sem volume, nada sobrevive à recriação do contêiner.
Dá para criar filas já na subida?
Dá, por arquivo de definições carregado na inicialização, que descreve usuários, permissões, exchanges, filas e vínculos. É o caminho para um ambiente de desenvolvimento reproduzível, melhor que criar tudo pelo painel e depender de o volume sobreviver.

Ferramentas Relacionadas