How to configure rabbitmq.config inside Docker containers? How to configure rabbitmq.config inside Docker containers? docker docker

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"}    ]}].