Builds on the hpess/chef image by installing rabbitmq, currently version 3.5.3-1.
Here's an example docker file to spin up a single rabbitmq instance:
rabbitmq: hostname: 'rabbitmq' image: hpess/rabbitmq ports: - "15672:15672" - "5672:5672"
The default username and password for the admin console on 15672 is 'guest' and 'guest'
Of course you have the ability to override the rather simple configuration with your own config by adding rabbitmq.config to /storage volume.
I've spent a silly amount of time ensuring that we trap all of the SIGTERM SIGKILL signals etc so that the instance/cluster remains stable, you can quite happily
docker restart <id> or
docker stop <id> && docker stop <id> and everything will continue to work well.
I've also ensured that when you stop the containers, RabbitMQ is gracefully closed down rather than brutally killed by docker.
This container supports clustering with some simple environment variables. The docker-compose file below shows you how to create a three rabbit cluster:
rabbit1: image: hpess/rabbitmq restart: always hostname: rabbit1 ports: - "5672:5672" - "15672:15672" rabbit2: image: hpess/rabbitmq restart: always hostname: rabbit2 links: - rabbit1 environment: - clustered_with=rabbit1 - ram_node=true ports: - "5673:5672" - "15673:15672" rabbit3: image: hpess/rabbitmq restart: always hostname: rabbit3 links: - rabbit1 - rabbit2 environment: - clustered_with=rabbit1 ports: - "5674:5672"
The erlang cookie must be identical across all rabbit instances, you can specify one with the environment variable
erlang_cookie, otherwise a default of 'ERLANGCOOKIE' will be used.
This docker application is distributed unter the MIT License (MIT).
RabbitMQ itself is licenced under the Mozilla Public License License.