一、查找Docker Hub上的rabbitmq镜像
docker search rabbitmq
二、拉取官方的镜像
# 拉取官方的镜像,标签为latest
docker pull rabbitmq
三、运行容器
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
--name
指定了容器名称-d
指定容器以后台守护进程方式运行-p
指定容器内部端口号与宿主机之间的映射- 默认使用
15672
为web端界面访问时端口 - 默认使用
5672
为数据通信端口
- 默认使用
四、查看容器启动情况
docker ps
五、安装RabbitMQ完成后出现的问题
1、无法访问web界面
# 启动rabbitmq_management这个插件
docker exec -it rabbit rabbitmq-plugins enable rabbitmq_management
# 或者 先进入rabbitmq
# docker exec -it [CONTAINER ID] /bin/bash
docker exec -it 87c1746582f7 /bin/bash
rabbitmq-plugins enable rabbitmq_management
使用ipAddress+15672
访问管理界面,默认账号密码都是guest
2、无法访问Channels页面
登录成功后,点击Channels
出现Stats in management UI are disabled on this node
先进入rabbitmq
# docker exec -i -t [CONTAINER ID] bin/bash
docker exec -i -t 87c1746582f7 bin/bash
# 先进入rabbitmq下的conf.d
cd /etc/rabbitmq/conf.d/
# 然后开启management_agent插件中的指标收集器
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
# 退出容器后,重启rabbitmq
exit
docker restart [CONTAINER ID]
然后查看Channels
,成功访问
六、查看容器日志
docker logs -f [CONTAINER ID]
执行命令查看rabbitMq在启动过程中日志
rabbitMq
默认创建了guest
用户- 赋予
administrator
角色权限 - 监听
5672
端口TCP
连接和15672
端口的HTTP
连接
七、新增一个用户
默认的guest
账户有访问限制,默认只能通过本地网络(如 localhost) 访问,远程网络访问受限,所以在使用时我们一般另外添加用户,例如我们添加一个root用户:
-
执行
docker exec -i -t [CONTAINER ID] bin/bash
进入到rabbitMq容器内部 -
执行
rabbitmqctl add_user root 123456
添加用户,用户名为root
,密码为123456
-
执行
abbitmqctl set_permissions -p / root ".*" ".*" ".*"
赋予root
用户所有权限
-
执行
rabbitmqctl set_user_tags root administrator
赋予root
用户administrato
r角色
-
执行
rabbitmqctl list_users
查看所有用户即可看到root用户已经添加成功