前言

通过Docker部署RabbitMQ,实现消息队列

拉取镜像

1
docker pull rabbitmq

启动容器

<username>:指定初始管理员用户名
<password>:指定初始管理员密码
--hostname rabbitmq:指定域名

1
docker run -d  --name rabbitmq --hostname rabbitmq -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=<username> -e RABBIT_DEFAULT_PASS=<password> rabbitmq:management

踩坑

原因

  • 没有启动管理页面插件

解决问题

  • 进入到容器内部

<container_id>:容器编号

1
docker exec -it <container_id> /bin/bash
  • 启动管理页面插件
1
rabbitmq-plugins enable rabbitmq_management

踩坑

  • 登录时报错:Login failed

原因

  • 权限问题

解决问题

  • 进入到容器内部

<container_id>:容器编号

1
docker exec -it <container_id> /bin/bash
  • 添加权限

<username>:用户名
<password>:密码

1
2
3
4
# 添加管理员权限
rabbitmqctl set_user_tags <username> administrator
# 允许远程访问
rabbitmqctl set_permissions -p / <username> ".*" ".*" ".*"
  • 重启服务或容器

完成

  • 登录

Username:admin
Password:admin

参考文献

哔哩哔哩——黑马程序员
CSDN——梦昼初PurpleShell
CSDN——会动的蜗牛
博客园——北斗
哔哩哔哩——锤子V君