Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node

一、前言

闲来无事,准备写点东西,做了准备工作,发现安装RabbitMQ教程都写的不够全面。
鉴于前面看过几个用Docker安装RabbitMQ的文章,在自己安装他们的安装教程后都会遇到的一个问题,这里我就重新再写一遍Docker安装RabbitMQ流程(内心复杂,就不能好好的让我把你们的安装教程链接分享出去吗,还要我自己来写一篇,让广大程序员避坑)。前面多数是跟别的安装教程重复的,老手可略过。


二、找到对应镜像

进入docker hub镜像仓库地址:https://hub.docker.com/.

左上角搜索框输入rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们可以选择直接安装rabbitMq,也可以选择带有“mangement”的版本(包含web管理页面),下面会分别说明。

在这里插入图片描述
在这里插入图片描述


三、两种安装方式

1.直接拉取镜像,无managment

docker pull rabbitmq

在这里插入图片描述


1.1.查看所有镜像
docker images

在这里插入图片描述


1.2.创建并运行容器
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

在这里插入图片描述


1.3.查看正在运行容器
docker ps

在这里插入图片描述


1.4.现在通过http://ip:15672是访问不了的,因为没有web管理插件

我的虚拟机IP直接访问:http://192.168.188.128:15672/
在这里插入图片描述


1.5.安装web管理插件rabbitmq_management
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management

在这里插入图片描述


1.6.重新访问刷新我们的浏览器界面:http://192.168.188.128:15672/

出现这种弹窗,有可能是你的用户名和密码错误,再试一次,如果还是不行,则参考下一步:
在这里插入图片描述


解决一直弹窗问题:
修改配置文件
通过命令我们可以看到错误: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
在这里插入图片描述

页面现在是正常
在这里插入图片描述

1.7.但是点第三个菜单就会弹出这个:Stats in management UI are disabled on this node

在这里插入图片描述


1.8.解决: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

在这里插入图片描述

最后到页面刷新即可,再次点击后面的菜单也不会有问题了,第一个页面的节点监控也出现了
在这里插入图片描述
在这里插入图片描述


2.直接拉取镜像,有managment(推荐

为了广大同胞避坑,我停止容器,删除容器,删除镜像,重新来一次
在这里插入图片描述


2.1.拉取带web管理的镜像

下面命令的冒号后面也可以是对应的版本,比如:rabbitmq:3.10-management,大家自行选择

docker pull rabbitmq:management

在这里插入图片描述
注意:如果docker pull rabbitmq后面不带management,启动rabbitmq后是无法打开管理界面的(跟前面一步一样),所以我们要下载带management插件的rabbitmq


2.2.创建并启动容器

这里使用最简单的创建,默认用户名和密码:guest/guest

docker run -dit \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
rabbitmq:management

在这里插入图片描述


2.3.查看容器
docker ps

在这里插入图片描述


2.4.再次请求web端路径

使用默认用户名和密码:guest/guest
在这里插入图片描述
登录之后即可看到节点监控和所有菜单(相比第二步,少了很多配置步骤)
在这里插入图片描述


2.5.番外:消息中间件RabbitMQ需要知道的6个端口的作用.

在这里插入图片描述


至此,安装RabbitMQ的教程结束。


欢迎关注公众号:慌途L
后面会慢慢将文章迁移至公众号,也是方便在没有电脑的情况下可以进行翻阅,更新的话会两边同时更新,大家不用担心!
在这里插入图片描述


  • 25
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值