Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

739
Views
¿Cómo configurar rabbitmq.config dentro de contenedores Docker?

Estoy usando la imagen oficial de RabbitMQ Docker ( https://hub.docker.com/_/rabbitmq/ )

Intenté editar el archivo rabbitmq.config dentro del contenedor después de ejecutar

docker exec -it <container-id> /bin/bash

Sin embargo, esto parece no tener efecto en el servidor rabbitmq que se ejecuta en el contenedor. Obviamente, reiniciar el contenedor tampoco ayudó, ya que Docker inicia una instancia completamente nueva.

Así que asumí que la única forma de configurar rabbitmq.config para un contenedor Docker era configurarlo antes de que el contenedor comenzara a ejecutarse, lo que pude hacer en parte usando las variables de entorno compatibles con la imagen.

Desafortunadamente, no todas las opciones de configuración son compatibles con las variables de entorno. Por ejemplo, quiero configurar {auth_mechanisms, ['PLAIN', 'AMQPLAIN', 'EXTERNAL']} en rabbitmq.config .

Luego encontré la variable de entorno RABBITMQ_CONFIG_FILE , que debería permitirme señalar el archivo que quiero usar como mi archivo de configuración. Sin embargo, he intentado lo siguiente sin suerte:

 docker service create --name rabbitmq --network rabbitnet \ -e RABBITMQ_ERLANG_COOKIE='mycookie' --hostname = "{{Service.Name}}{{.Task.Slot}}" \ --mount type=bind,source=/root/mounted,destination=/root \ -e RABBITMQ_CONFIG_FILE=/root/rabbitmq.config rabbitmq

El archivo predeterminado rabbitmq.config que contiene:

 [ { rabbit, [ { loopback_users, [ ] } ] } ]

es lo que hay en el contenedor una vez que comienza

¿Cuál es la mejor manera de configurar rabbitmq.config dentro de los contenedores de Docker?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

el archivo de configuración vive en /etc/rabbitmq/rabbitmq.config , por lo que si monta su propio archivo de configuración con algo como esto (estoy usando docker-compose aquí para configurar la imagen)

 volumes: - ./conf/myrabbit.conf:/etc/rabbitmq/rabbitmq.config

Deberias hacer eso

over 4 years ago · Santiago Trujillo Report

0

Puedo ejecutar RabbitMQ con una configuración montada usando el siguiente script bash :

 #RabbitMQ props env=dev rabbitmq_name=dev_rabbitmq rabbitmq_port=5672 #RabbitMQ container if [ "$(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-management else 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

También tengo los siguientes archivos de config en mi rabbitmq/dev

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

conejomq.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"} ]} ].
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!