All Projects → bijukunjummen → Docker Rabbitmq Cluster

bijukunjummen / Docker Rabbitmq Cluster

Docker RabbitMQ cluster

Programming Languages

shell
77523 projects

This folder structure contains the Dockerfiles for building RabbitMQ cluster - the number of nodes are completely customizable using https://docs.docker.com/compose/[docker-compose] docker-compose.yml file.

Structure:

There are 3 folders.

  1. base - this is the base Dockerfile which builds on a CentOS image and installs the RabbitMQ binaries on the image
  2. server - This builds on the base image and has the startup script for bring up a RabbitMQ server
  3. cluster - This contains a https://docs.docker.com/compose/[docker-compose] definition file(docker-compose.yml) for brining up the rabbitmq cluster. Use docker-compose up -d to bring up the cluster.

Running the Cluster:

Once the images are built, boot up the cluster using the docker-compose.yml configuration provided in cluster folder:

[source]

docker-compose up -d

By default 3 nodes are started up this way:

[source]

rabbit1: image: bijukunjummen/rabbitmq-server:3.7.0 hostname: rabbit1 ports: - "5672:5672" - "15672:15672" environment: - RABBITMQ_DEFAULT_USER=myuser - RABBITMQ_DEFAULT_PASS=mypass rabbit2: image: bijukunjummen/rabbitmq-server:3.7.0 hostname: rabbit2 links: - rabbit1 environment:

  • CLUSTERED=true
  • CLUSTER_WITH=rabbit1
  • RAM_NODE=true ports:
    • "5673:5672"
    • "15673:15672"

rabbit3: image: bijukunjummen/rabbitmq-server:3.7.0 hostname: rabbit3 links: - rabbit1 - rabbit2 environment:

  • CLUSTERED=true
  • CLUSTER_WITH=rabbit1
    ports:
    • "5674:5672"

if needed, additional nodes can be added to this file. If the entire cluster comes up, the management console can be accessed at http://:15672

and connection host should look like this: dockerip:5672,dockerip:5673,dockerip:5674

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].