windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange

1.查看RabbitMQ镜像:

执行 docker search rabbitmq

2.拉取abbitMQ镜像:(这里是默认拉取最新的,也可以在后面指定版本)

执行 docker pull rabbitmq   然后docker images 查看拉取的镜像包

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第1张图片

 3.启动RabbitMQ

docker run -d --hostname jonpgo_host_rabbit --name jonpgo_rabbit -e RABBITMQ_DEFAULT_USER=root -e RABBITMQ_DEFAULT_PASS=root -p 15672:15672 -p 5672:5672 rabbitmq:management 

说明:

-d 后台运行容器;

–name 指定容器名;

-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);

-v 映射目录或文件(根据自行需要配置);

–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)

4.安装web管理插件rabbitmq_management

注意:不安装web管理插件,通过http://ip:15672可能访问不了,或者台管理页面点击 Channels 报错,提示Stats in management UI are disabled on this node

1)先执行docker ps 拿到当前的镜像ID
2)进入rabbitMq容器:

docker exec -it  {rabbitmq容器id} /bin/bash

我的:docker exec -it  jonpgo_rabbit /bin/bash

3)查看配置文件

cat /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf

4)将配置文件内容,true改为false:

cd  /etc/rabbitmq/conf.d/
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf

5).退出容器:

exit

6)输入指令,安装插件:

docker exec -it {rabbitmq容器名称或者id} rabbitmq-plugins enable rabbitmq_management

我的:docker exec -it jonpgo_rabbit rabbitmq-plugins enable rabbitmq_management

5.重启容器:

docker restart {rabbitmq容器id}

6 浏览器访问地址:

http://ip地址:15672,这里的用户名和密码默认都是guest

http://192.168.6.168:15672/#/

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第2张图片

消息中间件RabbitMQ常用的的6个端口的作用:

端口 作用
15672 管理界面ui使用的端口
15671 管理监听端口
5672,5671 AMQP 0-9-1 without and with TLSclient端通信口
4369 (epmd)epmd代表 Erlang端口映射守护进程,erlang发现口
25672 ( Erlang distribution) server间内部通信口

注意:为了省事,推荐直接拉取有managment的镜像,它自带web管理,不需要再手动安装;
如果docker pull rabbitmq后面不带management,启动rabbitmq后是会报错的的(,所以要下载带management插件的rabbitMQ。

例如:安装指定版本有managment的镜像,也可不带版本编号,docker pull rabbitmq:management

docker pull rabbitmq:3.20-management

下载延迟插件
在 RabbitMQ 的 3.5.7 版本之后,提供了一个插件(rabbitmq-delayed-message-exchange)来实现延迟队列 ,同时需保证 Erlang/OPT 版本为 18.0 之后。
我这里 MQ 的版本是 3.9.11,现在去 GitHub 上根据版本号下载插件
点击插件下载地址(保证自己rabbitmq和插件版本对应) 

问题:如何查看rabbitmq版本 

登录账号 

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第3张图片

 红色的就是版本号windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第4张图片

 8 安装插件并启用

我用的是 Docker 客户端,下载完成后直接把插件放在 C 盘的根目录,然后拷贝到容器内plugins目录下(jonpgo_rabbit是容器的name,也可以使用容器id)

docker cp /rabbitmq_delayed_message_exchange-3.10.2.ez jonpgo_rabbit:/plugins

进入 Docker 容器

docker exec -it jonpgo_rabbit /bin/sh

10 查看插件是否存在

cd plugins
ls |grep delay

11 在plugins内启用插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

12 退出容器

exit

13 重启 RabbitMQ

docker restart jonpgo_rabbit

 14 设置虚拟路径

容器启动成功之后,登录RabbitMQ的管理页面,找到ExchangesTab页。点击Add a new exchange,在Type里面查看是否有x-delayed-message选项,如果存在就代表插件安装成功。

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第5张图片

 

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第6张图片

 15 新增增一个用户

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第7张图片

 这个用户就是连接项目的时候使用的用户名以及密码

16 比如我们使用的php 项目现在启动就可以愉快的玩耍啦   完成的朋友记得点个赞呦

windows 下面基于 Docker安装RabbitMQ以及安装延迟队列插件 rabbitmq-delayed-message-exchange_第8张图片

 

你可能感兴趣的:(docker,java-rabbitmq,rabbitmq)