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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题

    • 一、前言
    • 二、找到对应镜像
      • 进入docker hub镜像仓库地址:[https://hub.docker.com/](https://hub.docker.com/).
    • 三、两种安装方式
      • 1.直接拉取镜像,无managment
        • 1.1.查看所有镜像
        • 1.2.创建并运行容器
        • 1.3.查看正在运行容器
        • 1.4.现在通过[http://ip:15672](http://ip:15672)是访问不了的,因为没有web管理插件
        • 1.5.安装web管理插件rabbitmq_management
        • 1.6.重新访问刷新我们的浏览器界面:http://192.168.188.128:15672/
        • 1.7.但是点第三个菜单就会弹出这个:Stats in management UI are disabled on this node
        • 1.8.解决:Stats in management UI are disabled on this node
      • 2.直接拉取镜像,有managment(推荐
        • 2.1.拉取带web管理的镜像
        • 2.2.创建并启动容器
        • 2.3.查看容器
        • 2.4.再次请求web端路径
        • 2.5.番外:[消息中间件RabbitMQ需要知道的6个端口的作用](https://blog.csdn.net/qq_37356556/article/details/104700411).

一、前言

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


二、找到对应镜像

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

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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第1张图片
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第2张图片


三、两种安装方式

1.直接拉取镜像,无managment

docker pull rabbitmq

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第3张图片


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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第4张图片


1.3.查看正在运行容器

docker ps

在这里插入图片描述


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

我的虚拟机IP直接访问:http://192.168.188.128:15672/
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第5张图片


1.5.安装web管理插件rabbitmq_management

docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第6张图片


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

出现这种弹窗,有可能是你的用户名和密码错误,再试一次,如果还是不行,则参考下一步:
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第7张图片


解决一直弹窗问题:
修改配置文件
通过命令我们可以看到错误: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
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第8张图片

页面现在是正常
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第9张图片

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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第10张图片


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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第11张图片

最后到页面刷新即可,再次点击后面的菜单也不会有问题了,第一个页面的节点监控也出现了
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第12张图片
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第13张图片


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

为了广大同胞避坑,我停止容器,删除容器,删除镜像,重新来一次
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第14张图片


2.1.拉取带web管理的镜像

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

docker pull rabbitmq:management

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第15张图片
注意:如果docker pull rabbitmq后面不带management,启动rabbitmq后是无法打开管理界面的(跟前面一步一样),所以我们要下载带management插件的rabbitmq


2.2.创建并启动容器

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

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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第16张图片


2.3.查看容器

docker ps

在这里插入图片描述


2.4.再次请求web端路径

使用默认用户名和密码:guest/guest
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第17张图片
登录之后即可看到节点监控和所有菜单(相比第二步,少了很多配置步骤)
Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第18张图片


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

Docker | 安装RabbitMQ详细教程,以及安装遇到的问题:Stats in management UI are disabled on this node_第19张图片


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

你可能感兴趣的:(Docker,RabbitMQ,docker,rabbitMQ,managment)