How to configure rabbitmq.config inside Docker containers?
the config file lives in /etc/rabbitmq/rabbitmq.config
so if you mount your own config file with something like this (I'm using docker-compose here to setup the image)
volumes:- ./conf/myrabbit.conf:/etc/rabbitmq/rabbitmq.config
that should do it
I'm able to run RabbitMQ with a mounted config using the following bash
script:
#RabbitMQ propsenv=devrabbitmq_name=dev_rabbitmqrabbitmq_port=5672#RabbitMQ containerif [ "$(docker ps -aq -f name=${rabbitmq_name})" ]; then echo Cleanup the existed ${rabbitmq_name} container docker stop ${rabbitmq_name} && docker rm ${rabbitmq_name} echo Create and start new ${rabbitmq_name} container docker run --name ${rabbitmq_name} -d -p ${rabbitmq_port}:15672 -v $PWD/rabbitmq/${env}/data:/var/lib/rabbitmq:rw -v $PWD/rabbitmq/${env}/definitions.json:/opt/definitions.json:ro -v $PWD/rabbitmq/${env}/rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro rabbitmq:3-managementelse echo Create and start new ${rabbitmq_name} container docker run --name ${rabbitmq_name} -d -p ${rabbitmq_port}:15672 -v $PWD/rabbitmq/${env}/data:/var/lib/rabbitmq:rw -v $PWD/rabbitmq/${env}/definitions.json:/opt/definitions.json:ro -v $PWD/rabbitmq/${env}/rabbitmq.config:/etc/rabbitmq/rabbitmq.config:ro rabbitmq:3-management fi
I also have the following config
files in my rabbitmq/dev
dir
definitions.json
{ "rabbit_version": "3.7.3", "users": [{ "name": "welib", "password_hash": "su55YoHBYdenGuMVUvMERIyUAqJoBKeknxYsGcixXf/C4rMp", "hashing_algorithm": "rabbit_password_hashing_sha256", "tags": "" }, { "name": "admin", "password_hash": "x5RW/n1lq35QfY7jbJaUI+lgJsZp2Ioh6P8CGkPgW3sM2/86", "hashing_algorithm": "rabbit_password_hashing_sha256", "tags": "administrator" }], "vhosts": [{ "name": "/" }, { "name": "dev" }], "permissions": [{ "user": "welib", "vhost": "dev", "configure": ".*", "write": ".*", "read": ".*" }, { "user": "admin", "vhost": "/", "configure": ".*", "write": ".*", "read": ".*" }], "topic_permissions": [], "parameters": [], "global_parameters": [{ "name": "cluster_name", "value": "rabbit@98c821300e49" }], "policies": [], "queues": [], "exchanges": [], "bindings": [] }
rabbitmq.config
[ {rabbit, [ {loopback_users, []}, {vm_memory_high_watermark, 0.7}, {vm_memory_high_watermark_paging_ratio, 0.8}, {log_levels, [{channel, warning}, {connection, warning}, {federation, warning}, {mirroring, info}]}, {heartbeat, 10} ]}, {rabbitmq_management, [ {load_definitions, "/opt/definitions.json"} ]}].