Switch branches/tags
Nothing to show
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
base Upgraded to rabbitmq 3.7.0 Dec 20, 2017
cluster Upgraded to rabbitmq 3.7.0 Dec 20, 2017
server Upgraded to rabbitmq 3.7.0 Dec 20, 2017
.gitignore Upgraded to rabbitmq 3.7.0 Dec 20, 2017
README.adoc Upgraded to rabbitmq 3.7.0 Dec 20, 2017
build-images.sh Upgraded to rabbitmq 3.7.0 Dec 20, 2017

README.adoc

This folder structure contains the Dockerfiles for building RabbitMQ cluster - the number of nodes are completely customizable using 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 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:

docker-compose up -d

By default 3 nodes are started up this way:

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://<dockerip>:15672

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