Docker 安装 RabbitMQ

Docker安装RabbitMQ


1、准备工作

  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。如下图:
image

4、其他额外操作

4.1 创建用户、角色、权限

两种方式创建用户,进管理后台创建或者命令行方式创建。

  1. 第一种
  • 管理后台创建方式,注意:tags即为角色。如下图:

image

  • 创建权限,如下图:
    image
  1. 第二种
  • 命令行创建,首先要进入容器。
# 创建账号
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插件

延迟消息插件,注意版本匹配。

步骤:

  1. 下载delay插件
    下载地址:https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

  2. 拷贝到容器内
    docker cp 插件路径 rabbitmq:/plugins

  3. 添加插件,注意要进入容器执行
    rabbitmq-plugins enable rabbitmq_delayed_message_exchange

posted @ 2023-03-10 22:55  海琦  阅读(1174)  评论(0)    收藏  举报