Docker 安装 RabbitMQ
Docker安装RabbitMQ
1、准备工作
- 准备挂载目录
-
创建
/opt/rabbitmq
目录,集中管理RabbitMQ信息。
特别注意目录权限问题。因为容器内RabbitMQ是以rabbitmq
用户启动的,有些文件夹归属rabbitmq
用户,导致挂载到外部没有权限写入,导致启动异常。处理方式为扩大/opt/rabbitmq
目录权限范围,如chmod -R 666 /opt/rabbitmq
。 -
创建
/opt/rabbitmq/data
用于挂载数据。
2、运行镜像
# 执行如下命令
docker run -d --hostname myrabbitmq --name rabbitmq -p 5673:5672 -p 15673:15672 \
-v /opt/rabbitmq/data:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 \
rabbitmq:3.9.7-management
-d
#后台启动
--hostname myrabbitmq
#主机名称,必须,RabbitMQ数据目录需要拼主机名,不填将随机生成,导致持久化失效
--name rabbitmq
#别名
-p 5673:5672 -p 15673:15672
#端口映射,5672为Api接口,15672为管理后台接口
-v /opt/rabbitmq/data:/var/lib/rabbitmq
#数据挂载
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456
# 环境变量,这里设置默认账号密码
rabbitmq:3.9.7-management
#镜像:tag
3、验证
验证比较简单,直接登录:http://IP:15762 即可,账号密码为上述配置的admin/123456
。如下图:
4、其他额外操作
4.1 创建用户、角色、权限
两种方式创建用户,进管理后台创建或者命令行方式创建。
- 第一种
- 管理后台创建方式,注意:tags即为角色。如下图:
- 创建权限,如下图:
- 第二种
- 命令行创建,首先要进入容器。
# 创建账号
rabbitmqctl add_user 账号 密码
# 配置角色
rabbitmqctl set_user_tags 账号 administrator
# 设置权限,-p / 表示为/的vhost,连续3个.*分别表示给<conf> <write> <read>授权
rabbitmqctl set_permissions -p / 账号 ".*" ".*" ".*"
4.2 创建vhost
vhost,全称Virtual host,叫虚拟主机。主要作用就是隔离环境。创建方式也有两种,管理后台或命令行。推荐管理后台,图形界面比较友好。
todo 待补充页面和命令
4.3 增加delay插件
延迟消息插件,注意版本匹配。
步骤:
-
下载delay插件
下载地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases -
拷贝到容器内
docker cp 插件路径 rabbitmq:/plugins
-
添加插件,注意要进入容器执行
rabbitmq-plugins enable rabbitmq_delayed_message_exchange