Basically, a RabbitMQ image that uses confd to capture some environment variables to set itself up. All sorts of queues, bindings, vhosts, users, etc can be set up using this method.
Quick link to a advanced (if work-in-progress) RabbitMQ docker container.
Key features
- Advanced configuration options can be passed in using environment variables
- Can be automatically clustered
In practice this container was used in an EC2 environment, where EC2 neighbours
were detected by the host. The resolvable hostnames to neighbour IPs were
passed in as part of the docker run
command using the add-host
option.
For example, for a EC2 host with name ip-10.0.0.1
and neighbours
ip-10.0.0.2
and ip-10.0.0.3
For further documentation and code, see https://github.com/ministryofjustice/docker-rabbitmq