安装rabbitmq
shell
docker run -d \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
-v /home/rabbitmq:/var/lib/rabbitmq \
rabbitmq:4.2.1-management
下载延迟队列插件
[点击进入RabbitMq官网插件列表](http://www.rabbitmq.com/community-plugins.html)
找到对应rabbitmq版本下载
直达地址(下载后缀为.ez)的:
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
上传到服务器并拷贝至容器中
docker cp /home/rabbitmq/plugins/rabbitmq_delayed_message_exchange-4.2.0.ez rabbitmq:/opt/rabbitmq/plugins/
启用插件
1.进入容器
docker exec -it rabbitmq bash
2.查看插件列表(可跳过)
rabbitmq-plugins list
3.启用插件(容器内执行)
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
看到这个就表示启用成功了,

重启容器
进入rabbitmq控制台页面,查看交换机类型,如果出现x-delayed-message 则安装成功!

附rabbitmq端口说明
- **AMQP 端口 (5672)**:
- 这是 AMQP 协议的标准端口,用于客户端与 RabbitMQ 服务器之间的通信。几乎所有的 RabbitMQ 客户端(如 Java、Python、.NET 等)都使用这个端口进行连接。
- **AMQP 加密端口 (5671)**:
- 这是 AMQP 协议的加密版本(使用 TLS/SSL),用于需要安全通信的场景。如果你的 RabbitMQ 服务器配置了 SSL/TLS,客户端将通过这个端口连接。
- **管理 UI 端口 (15672)**:
- RabbitMQ 提供了一个基于浏览器的管理界面,用于监控和管理队列、交换器、绑定等。默认情况下,这个管理界面运行在 15672 端口上。你可以通过浏览器访问
http://<server>:<port>来访问这个界面,其中<server>是你的服务器地址,<port>通常是 15672(除非你在配置中更改了)。
- RabbitMQ 提供了一个基于浏览器的管理界面,用于监控和管理队列、交换器、绑定等。默认情况下,这个管理界面运行在 15672 端口上。你可以通过浏览器访问
- **管理 UI 的加密端口 (15671)**:
- 类似于 AMQP 的加密端口,这是管理 UI 的加密版本,使用 TLS/SSL。如果你的管理界面配置了 SSL/TLS,你应该通过这个端口访问。
- **Erlang 分布式端口 (25672, 4369, 5671, 5672)**:
- 这些端口主要用于 Erlang 节点之间的通信,特别是在集群环境中。例如:
- 4369:Erlang 的 epmd (Erlang Port Mapper Daemon) 使用的端口,用于节点发现。
- 25672:Erlang 的集群通信端口,用于节点之间的内部通信。
- 5671 和 5672:虽然主要用于客户端连接,但在集群环境中,这些端口也可能用于某些内部通信。
- 这些端口主要用于 Erlang 节点之间的通信,特别是在集群环境中。例如: