Over a million developers have joined DZone.

Docker RabbitMQ Cluster

DZone's Guide to

Docker RabbitMQ Cluster

· DevOps Zone
Free Resource

“Automated Testing: The Glue That Holds DevOps Together” to learn about the key role automated testing plays in a DevOps workflow, brought to you in partnership with Sauce Labs.

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:

  image: bijukunjummen/rabbitmq-server
  hostname: rabbit1
    - "5672:5672"
    - "15672:15672"

  image: bijukunjummen/rabbitmq-server
  hostname: rabbit2
    - rabbit1
    - CLUSTERED=true
    - CLUSTER_WITH=rabbit1
    - RAM_NODE=true

  image: bijukunjummen/rabbitmq-server
  hostname: rabbit3
    - rabbit1
    - rabbit2
    - CLUSTERED=true
    - CLUSTER_WITH=rabbit1

and in the folder holding this file, run:

fig up

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.


Learn about the importance of automated testing as part of a healthy DevOps practice, brought to you in partnership with Sauce Labs.


Published at DZone with permission of Biju Kunjummen, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.


Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}