Docker RabbitMQ Cluster
Join the DZone community and get the full member experience.Join For Free
I have been trying to create a Docker based RabbitMQ cluster on and off for sometime and got it working today - fairly basic and flaky but could be a good starting point for others to improve on.
This is how the sample cluster looks on my machine, this is a typical cluster described in the RabbitMQ clustering guide available here - https://www.rabbitmq.com/clustering.html. As recommended at the site, there are 2 disk based nodes and 1 RAM based node here.
To quickly replicate this, you only need to have fig in your machine, just create a fig.yml file with the following entry:
rabbit1: image: bijukunjummen/rabbitmq-server hostname: rabbit1 ports: - "5672:5672" - "15672:15672" rabbit2: image: bijukunjummen/rabbitmq-server hostname: rabbit2 links: - rabbit1 environment: - CLUSTERED=true - CLUSTER_WITH=rabbit1 - RAM_NODE=true rabbit3: image: bijukunjummen/rabbitmq-server hostname: rabbit3 links: - rabbit1 - rabbit2 environment: - CLUSTERED=true - CLUSTER_WITH=rabbit1
and in the folder holding this file, run:
That is it!, the entire cluster should come up. If you need more nodes, just modify the fig.yml file.
The docker files for creating the dockerized rabbitmq-server is available at my github repo here: https://github.com/bijukunjummen/docker-rabbitmq-cluster and the "rabbitmq-server" image itself is here at the docker hub.
- The base rabbitmq image is somewhat based on cthulhuology's docker rabbitmq image: https://github.com/cthulhuology/docker-rabbitmq
- Docker file: https://github.com/bijukunjummen/docker-rabbitmq-cluster
- Docker image: https://registry.hub.docker.com/u/bijukunjummen/rabbitmq-server/
Published at DZone with permission of Biju Kunjummen, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Execution Type Models in Node.js
JavaFX Goes Mobile
Harnessing the Power of Integration Testing
Why You Should Consider Using React Router V6: An Overview of Changes