Docker 安装 RabbitMQ 并安装延迟队列插件 rabbitmq-delayed-message-exchange

Docker 安装 RabbitMQ

拉取镜像

docker pull rabbitmq:management

启动镜像

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

参数说明

-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
–hostname 主机名;
-e 指定环境变量;(RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

启动之后就可以访问 RabbitMQ 管理页面了。
我这里是本机,所以直接用 http://127.0.0.1:15672/ 访问
在这里插入图片描述
登录之后可以看到 RabbitMQ 的版本以及 Erlang 的版本
在这里插入图片描述

下载延迟插件

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

安装插件并启用

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

docker cp /rabbitmq_delayed_message_exchange-3.9.0.ez rabbit:/plugins

进入 Docker 容器

docker exec -it rabbit /bin/bash

查看插件是否存在

cd plugins
ls |grep delay

在plugins内启用插件

rabbitmq-plugins enable rabbitmq_delayed_message_exchange

在这里插入图片描述

退出容器

exit

重启 RabbitMQ

docker restart rabbit

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


版权声明:本文为m0_46114643原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。