如何为Docker Compose部署的RabbitMQ添加Virtual Host
问题描述
已通过Docker Compose部署RabbitMQ,当前配置如下:
rabbitmq: image: rabbitmq:3-management-alpine container_name: 'rabbitmq' volumes: - ./DockerFiles/rabbitmq/data/:/var/lib/rabbitmq/ - ./DockerFiles/rabbitmq/log/:/var/log/rabbitmq - ./DockerFiles/rabbitmq/plugins.conf:/etc/rabbitmq/enabled_plugins networks: rabbitmq_go_net
尝试通过挂载卷- ./DockerFiles/rabbitmq/rabbitmq.conf:/etc/rabbitmq/conf.d实现添加新Virtual Host,但不清楚后续操作,官方文档仅介绍默认虚拟主机设置方法,特此求助。
解决方案
以下是添加新Virtual Host的具体步骤:
导出当前RabbitMQ配置
进入RabbitMQ Web管理界面的Overview标签页,点击export definitions,下载包含当前完整配置的JSON文件。在配置文件中添加目标虚拟主机
打开下载的JSON文件,在vhosts数组中添加新的虚拟主机(示例为ABCD),同时在permissions数组中为指定用户配置该虚拟主机的权限:
"vhosts":[ { "name":"/" }, { "name":"ABCD" } ], "permissions":[ { "user":"guest", "vhost":"/", "configure":".*", "write":".*", "read":".*" }, { "user":"guest", "vhost":"ABCD", "configure":".*", "write":".*", "read":".*" } ],
将修改后的文件保存为rabbitmq_definitions.json,放置在本地的./DockerFiles/rabbitmq/目录下。
- 创建RabbitMQ主配置文件
在./DockerFiles/rabbitmq/目录下创建rabbitmq.conf文件,写入以下配置内容:
loopback_users.guest = false log.console = true load_definitions = /etc/rabbitmq/rabbitmq_definitions.json
- 更新Docker Compose挂载配置
修改docker-compose.yml中的volumes节点,添加新的挂载项,最终完整的volumes配置如下:
volumes: - ./DockerFiles/rabbitmq/data/:/var/lib/rabbitmq/ - ./DockerFiles/rabbitmq/log/:/var/log/rabbitmq - ./DockerFiles/rabbitmq/plugins.conf:/etc/rabbitmq/enabled_plugins - ./DockerFiles/rabbitmq/rabbitmq_definitions.json:/etc/rabbitmq/rabbitmq_definitions.json:ro - ./DockerFiles/rabbitmq/rabbitmq.conf:/etc/rabbitmq/conf.d/10-defaults.conf
内容的提问来源于stack exchange,提问作者Ángel
相关产品推荐
相关产品推荐

