You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为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的具体步骤:

  1. 导出当前RabbitMQ配置
    进入RabbitMQ Web管理界面的Overview标签页,点击export definitions,下载包含当前完整配置的JSON文件。

  2. 在配置文件中添加目标虚拟主机
    打开下载的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/目录下。

  1. 创建RabbitMQ主配置文件
    在./DockerFiles/rabbitmq/目录下创建rabbitmq.conf文件,写入以下配置内容:
loopback_users.guest = false
log.console = true
load_definitions  = /etc/rabbitmq/rabbitmq_definitions.json
  1. 更新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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 01:10:11