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选项,如果存在就代表插件安装成功。