当前位置:   article > 正文

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题: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管理页面),下面会分别说明。

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


三、两种安装方式

1.直接拉取镜像,无managment

docker pull rabbitmq
  • 1

在这里插入图片描述


1.1.查看所有镜像
docker images
  • 1

在这里插入图片描述


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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

说明:
-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

在这里插入图片描述


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

在这里插入图片描述


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

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


解决一直弹窗问题:
修改配置文件
通过命令我们可以看到错误:HTTP access denied: user 'guest' - User can only log in via localhost。

docker logs -f rabbitmq
  • 1

解决:
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
  • 1

切到对应目录

cd /etc/rabbitmq/conf.d/
  • 1

修改 management_agent.disable_metrics_collector = false

echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
  • 1

退出容器

exit
  • 1

重启容器

docker restart rabbitmq
  • 1

在这里插入图片描述

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


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

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


2.1.拉取带web管理的镜像

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

docker pull rabbitmq:management
  • 1

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


2.2.创建并启动容器

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

docker run -dit \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
rabbitmq:management
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述


2.3.查看容器
docker ps
  • 1

在这里插入图片描述


2.4.再次请求web端路径

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


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

在这里插入图片描述


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


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


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/869928
推荐阅读
相关标签
  

闽ICP备14008679号