【笔记】通过Docker部署RabbitMQ

前言

通过Docker部署RabbitMQ

拉取镜像

1
docker pull rabbitmq

启动容器

-e RABBITMQ_DEFAULT_USER=:指定用户名
-e RABBIT_DEFAULT_PASS=:指定密码
--hostname rabbitmq:指定域名
-p 15672:15672:指定管理页面的端口映射
-p 5672:5672:指定消息通讯的端口映射

1
2
3
4
5
6
7
8
9
docker run \
--name rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBIT_DEFAULT_PASS=admin \
--hostname rabbitmq \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:latest

踩坑

原因

  • 没有启动管理页面插件

解决问题

  • 进入到容器内部

<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——会动的蜗牛
博客园——北斗