1.拉取rabbitmq镜像
docker pull rabbitmq:management
查看已下载的所有镜像
docker images
2.运行容器
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
端口说明:
15672 (if management plugin is enabled)
15671 management监听端口
5672, 5671 (AMQP 0-9-1 without and with TLS)
4369 (epmd) epmd 代表 Erlang 端口映射守护进程
25672 (Erlang distribution)
命令说明:
-d:以后台的方式运行
--name rabbitmq :指定容器的名称为rabbitmq
-p 5672:5672 -p 15672:15672 :将容器的5672, 15672端口挂载到宿主机的5672, 15672端口上
查看容器日志
docker logs -f rabbitmq
3.浏览器输入http://localhost:15672/,输入用户名和密码:guest(默认)
登录之后可看到RabbitMQ 的版本以及 Erlang 的版本
4.下载延迟插件
在 RabbitMQ 的 3.5.7 版本之后,提供了一个插件(rabbitmq-delayed-message-exchange)来实现延迟队列 ,同时需保证 Erlang/OPT 版本为 18.0 之后。
从下面的地址根据自己的版本号自行下载即可
Releases · rabbitmq/rabbitmq-delayed-message-exchange · GitHub
下载.ez结尾的文件
下载到任意目录,我这里临时放到了~目录
5.把下载的文件拷贝到容器内plugins目录下(rabbitmq是容器名称)
docker cp ~/rabbitmq_delayed_message_exchange-3.10.2.ez rabbitmq:/plugins
6.进入rabbitmq容器内
docker exec -it rabbitmq /bin/bash
7.查看插件是否存在
cd plugins
ls |grep delay
8.启用插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
9.退出
exit
10.重启容器
docker restart rabbitmq
11.重新打开rabbitmq管理页面,查看"Exchanges"-> "Add a new exchange"->"Type"
如果存在x-delayed-message说明安装成功!