docker hub
镜像仓库地址:[https://hub.docker.com/](https://hub.docker.com/).rabbitmq_management
Stats in management UI are disabled on this node
Stats in management UI are disabled on this node
闲来无事,准备写点东西,做了准备工作,发现安装
RabbitMQ
教程都写的不够全面。
鉴于前面看过几个用Docker
安装RabbitMQ
的文章,在自己安装他们的安装教程后都会遇到的一个问题,这里我就重新再写一遍Docker
安装RabbitMQ
流程(内心复杂,就不能好好的让我把你们的安装教程链接分享出去吗,还要我自己来写一篇,让广大程序员避坑)。前面多数是跟别的安装教程重复的,老手可略过。
docker hub
镜像仓库地址:https://hub.docker.com/.左上角搜索框输入rabbitMq
,进入官方的镜像,可以看到以下几种类型的镜像;我们可以选择直接安装rabbitMq
,也可以选择带有“mangement
”的版本(包含web管理页面),下面会分别说明。
docker pull rabbitmq
docker images
docker run -d -i -t \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-v rabbitmq-plugins:/plugins \
-v `pwd`/data:/var/lib/rabbitmq \
--hostname MasterRabbit \
-e RABBITMQ_DEFAULT_VHOST=master \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:latest
说明:
-d:后台运行容器;
–name:指定容器名;
-p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v:映射目录或文件;
–hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e:指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
rabbitmq-plugins:表示插件挂载的数据卷,使用命令docker volume inspect rabbitmq-plugins
可查看其对应的虚拟机目录
当然也可以不指定
-e
变量,默认用户名密码都是guest
docker ps
我的虚拟机IP直接访问:http://192.168.188.128:15672/
rabbitmq_management
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management
出现这种弹窗,有可能是你的用户名和密码错误,再试一次,如果还是不行,则参考下一步:
解决一直弹窗问题:
修改配置文件
通过命令我们可以看到错误:HTTP access denied: user 'guest' - User can only log in via localhost。
docker logs -f rabbitmq
解决:
rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。
如果想使用guest/guest通过远程机器访问,需要在rabbitmq配置文件中(/etc/rabbitmq/rabbitmq.config)中设置loopback_users为[]。
/etc/rabbitmq/rabbitmq.config文件完整内容如下(注意后面的半角句号):
[{rabbit, [{loopback_users, []}]}].
输入前面创建容器时设置的用户名和密码:admin/admin
Stats in management UI are disabled on this node
Stats in management UI are disabled on this node
进入容器:
docker exec -it rabbitmq /bin/bash
切到对应目录
cd /etc/rabbitmq/conf.d/
修改 management_agent.disable_metrics_collector = false
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
退出容器
exit
重启容器
docker restart rabbitmq
最后到页面刷新即可,再次点击后面的菜单也不会有问题了,第一个页面的节点监控也出现了
为了广大同胞避坑,我停止容器,删除容器,删除镜像,重新来一次
下面命令的冒号后面也可以是对应的版本,比如:rabbitmq:3.10-management
,大家自行选择
docker pull rabbitmq:management
注意:如果docker pull rabbitmq
后面不带management
,启动rabbitmq
后是无法打开管理界面的(跟前面一步一样),所以我们要下载带management
插件的rabbitmq
。
这里使用最简单的创建,默认用户名和密码:guest/guest
docker run -dit \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
rabbitmq:management
docker ps
使用默认用户名和密码:guest/guest
登录之后即可看到节点监控和所有菜单(相比第二步,少了很多配置步骤)
至此,安装RabbitMQ
的教程结束。