文章目录
- Docker下安装RabbitMQ
-
- [1. 下载Rabbitmq镜像](#1. 下载Rabbitmq镜像)
- [2. 创建并运行RabbitMQ容器](#2. 创建并运行RabbitMQ容器)
- [3. 查看启动情况](#3. 查看启动情况)
- [4. 启动RabbitMQ访问的Web客户端](#4. 启动RabbitMQ访问的Web客户端)
- [4-1 方法一 进入容器开启](#4-1 方法一 进入容器开启)
- [4-2 方法二 直接开启](#4-2 方法二 直接开启)
- [5. 浏览器访问RabbitMQ的Web客户端页面](#5. 浏览器访问RabbitMQ的Web客户端页面)
- [6. Web客户端页面问题](#6. Web客户端页面问题)
-
- [6-1 问题展示](#6-1 问题展示)
- [6-2 解决方案](#6-2 解决方案)
Docker下安装RabbitMQ
1. 下载Rabbitmq镜像
bash
# 拉取最新的rabbitmq的镜像
docker pull rabbitmq
# 拉取指定版本的rabbitmq镜像
docker pull rabbitmq:版本号
# *****************************************************
# 注:若镜像拉取失败,可修改Docker镜像配置地址后重新拉取
# 1. 修改Docker的配置文件 /etc/docker/daemon.json
sudo vim /etc/docker/daemon.json
# 2. 在打开的配置文件中,添加registry-mirrors字段,更改Docker的默认镜像仓库
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
]
}
# 3. 重新加载Docker的配置
sudo systemctl daemon-reload
# 4. 重启Docker服务
sudo systemctl restart docker
# *****************************************************
2. 创建并运行RabbitMQ容器
bash
docker run -d -p 15672:15672 -p 5672:5672 \
--restart=always \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--hostname myRabbit \
--name rabbitmq-new\
rabbitmq:latest
# 参数说明:
# -d:表示在后台运行容器;
# -p:将主机的端口 15673(Web访问端口号)对应当前rabbitmq容器中的 15672 端口,将主机的5674(应用访问端口)端口映射到# # rabbitmq中的5672端口;
# --restart=alawys:设置开机自启动
# -e:指定环境变量:
# RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
# RABBITMQ_DEFAULT_USER:默认的用户名;
# RABBITMQ_DEFAULT_PASS:默认的用户密码;
# --hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名);
# --name rabbitmq-new:设置容器名称;
3. 查看启动情况
bash
docker ps
4. 启动RabbitMQ访问的Web客户端
4-1 方法一 进入容器开启
bash
# 1. 进入rabbitmq容器
docker exec -it 容器名/容器id /bin/bash
# 2. 开启web客户端
rabbitmq-plugins enable rabbitmq_management
4-2 方法二 直接开启
bash
docker exec -it 容器名/容器id rabbitmq-plugins enable rabbitmq_management
5. 浏览器访问RabbitMQ的Web客户端页面
bash
# 在浏览器上输入 ip+端口 访问rabbitmq的web页面,如: 192.168.2174.132:15672,跳转至rabbitmq的登陆页面
# 登陆用户名和密码,创建Docker容器的时候我们指定了[本例: admin/admin],按自己配置登陆即可
# 如果没有指定的话,那么rabbitmq的默认账号密码是:guest/guest
# 如果无法访问可以尝试开启防火墙 15672 端口:
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
6. Web客户端页面问题
6-1 问题展示
bash
# 问题描述:在rabbitmq的web客户端发现界面,分别点击各个页面,如点击Channels,出现如下的提示
# 会弹出如下提示框Stats in management UI are disabled on this node
6-2 解决方案
bash
# 1. 进入到启动的rabbitmq的容器中
# docker exec -it 容器名称/容器id /bin/bash
docker exec -it rabbitmq-new /bin/bash
# 2. 切换到rabbitmq的配置文件目录
cd /etc/rabbitmq/conf.d/
# 3. 修改配置文件- management_agent.disable_metrics_collector.conf
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
# 4. 查看配置文件
cat management_agent.disable_metrics_collector.conf
# 5. 退出容器
exit
# 6. 重启容器
# docker restart 容器名称/容器id
docker restart rabbitmq-new
# 7. 再次进入rabbitmq的web客户端页面,点击各个页面就不会出现那个提示,
# 并且出现了统计图表以及可以添加一下展示的信息字段。