目录
Docker 启动时 预配置 RabbitMQ (建立用户 / Vhost / Queue)
在 Docker 环境中运行 RabbitMQ 时,许多场合希望预定义一些用户/vhost/queue。官方的教程都是通过 GUI 或者命令行来实现,民间也有通过自定义 RabbitMQ 镜像的方法,但操作性都比较繁杂。本文提供一种更简便的方法。
实现的大致流程
- 制作 RabbitMQ CONFIG 文件,指定初始化定义 definitions.json 文件
- 制作 definitions.json,来定义需要初始化的对象
- 运行 Docker,载入以上两个文件
制作 RabbitMQ CONFIG 文件
该文件非常简单,只需要在官方默认的基础上添加一行内容:
# 默认
loopback_users.guest = false
# 新增以下
management.load_definitions = /var/lib/rabbitmq/definitions.json
制作 definitions.json
如果你已有一个配置好的 RabbitMQ,该文件可以通过命令行/WEB API 导出。
rabbitmqadmin --host rabbitmq-example-server --username admin --password pass export custom_definitions.json
也可以手写一个,此处提供一个示例,建立一个名为 support 用户,一个 vhost 以及一个queue:
{
"rabbit_version": "3.11.9",