news 2026/5/9 3:16:58

在Docker环境中安装RabbitMQ延迟消息插件实战记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Docker环境中安装RabbitMQ延迟消息插件实战记录

在Docker环境中安装RabbitMQ延迟消息插件实战记录

一、背景

在使用RabbitMQ实现延迟队列功能时,需要安装官方提供的rabbitmq_delayed_message_exchange插件。本文记录在1Panel管理的Docker环境中安装该插件的完整过程。

二、环境信息

# 容器信息CONTAINER ID IMAGE NAMES ec9ab4f1be3e rabbitmq:4.1.0-management-alpine rabbitmq
  • RabbitMQ版本: 4.1.0
  • 插件版本: 4.1.0(必须与MQ主版本匹配)
  • 容器名称:rabbitmq

三、安装步骤

1. 下载插件文件

# 从GitHub Releases下载对应版本的插件wgethttps://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v4.1.0/rabbitmq_delayed_message_exchange-4.1.0.ez

注意:插件版本必须与RabbitMQ主版本一致(如4.1.x对应4.1.0)。

2. 复制插件到容器

# 将插件复制到RabbitMQ的plugins目录dockercprabbitmq_delayed_message_exchange-4.1.0.ez rabbitmq:/plugins/

3. 启用插件

# 在容器内执行插件启用命令(Alpine镜像使用/bin/sh)dockerexec-it rabbitmq /bin/sh -c"rabbitmq-plugins enable rabbitmq_delayed_message_exchange"

输出示例

Enabling plugins on node rabbit@ec9ab4f1be3e: rabbitmq_delayed_message_exchange The following plugins have been configured: rabbitmq_delayed_message_exchange Applying plugin configuration to rabbit@ec9ab4f1be3e... The following plugins have been enabled: rabbitmq_delayed_message_exchange set 1 plugins. Offline change; changes will take effect at broker restart.

4. 重启RabbitMQ容器

# 重启使插件生效docker restart rabbitmq

5. 验证安装

# 检查插件列表,确认delayed插件状态为E*(启用)dockerexec-it rabbitmq rabbitmq-plugins list|grepdelayed

成功标志

[ ] rabbitmq_delayed_message_exchange 4.1.0 # 重启后应显示为 [E*] 表示已启用

四、在RabbitMQ管理界面验证

  1. 访问http://宿主机IP:15672(默认用户名密码guest/guest)
  2. 进入Exchanges标签页
  3. 点击“Add a new exchange”
  4. Type下拉菜单中应出现“x-delayed-message”选项

五、常见问题

Q1: 插件版本不匹配

错误Plugin doesn't support current server version
解决:确保插件版本与rabbitmq:4.1.0主版本一致(都用4.1.x)

Q2: 容器内找不到plugins目录

解决:使用/plugins/(RabbitMQ官方镜像默认路径)

Q3: 启用插件后未重启

现象:插件状态显示[ ]而非[E*]
解决:必须执行docker restart rabbitmq

Q4: 插件列表无输出

解决:确认容器名称正确,使用docker ps查看最新容器名

六、完整脚本

#!/bin/bash# RabbitMQ延迟插件一键安装脚本PLUGIN_VERSION="4.1.0"RABBITMQ_CONTAINER="rabbitmq"echo"开始安装RabbitMQ延迟消息插件..."# 下载插件wget-q https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases/download/v${PLUGIN_VERSION}/rabbitmq_delayed_message_exchange-${PLUGIN_VERSION}.ez# 复制到容器dockercprabbitmq_delayed_message_exchange-${PLUGIN_VERSION}.ez${RABBITMQ_CONTAINER}:/plugins/# 启用插件dockerexec-it${RABBITMQ_CONTAINER}/bin/sh -c"rabbitmq-plugins enable rabbitmq_delayed_message_exchange"# 重启容器docker restart${RABBITMQ_CONTAINER}echo"安装完成!验证中..."dockerexec-it${RABBITMQ_CONTAINER}rabbitmq-plugins list|grepdelayed

七、总结

在Docker环境中安装RabbitMQ插件的核心步骤:下载→复制→启用→重启→验证。通过1Panel管理时,需注意:

  1. 插件版本必须与MQ版本严格匹配
  2. Alpine镜像使用/bin/sh而非/bin/bash
  3. 启用插件后必须重启容器
  4. 通过rabbitmq-plugins list验证最终状态

此方法适用于所有Docker部署的RabbitMQ环境,不仅限于1Panel。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 1:03:08

如何快速配置Motrix浏览器扩展:面向新手的完整指南

还在为浏览器下载速度慢、功能单一而烦恼吗?Motrix WebExtension 浏览器扩展为你提供了完美的解决方案。这款强大的扩展与 Motrix 下载管理器无缝集成,让浏览器下载体验焕然一新。 【免费下载链接】motrix-webextension A browser extension for the Mot…

作者头像 李华
网站建设 2026/5/9 2:32:34

飞书文档转Markdown神器:3分钟掌握高效转换技巧

飞书文档转Markdown神器:3分钟掌握高效转换技巧 【免费下载链接】feishu2md 一键命令下载飞书文档为 Markdown 项目地址: https://gitcode.com/gh_mirrors/fe/feishu2md 还在为飞书文档格式转换而烦恼吗?每次复制粘贴都要花费大量时间调整格式&am…

作者头像 李华
网站建设 2026/5/9 12:36:16

3大场景下MoneyNote开源记账系统的实战应用指南

你是否曾因财务混乱而烦恼?开源免费的MoneyNote记账系统正是为解决这一痛点而生。这个基于Java开发的个人财务管理工具,通过多账本、多币种、分类标签等核心功能,帮助用户在不同场景下实现精准的财务管控。本文将为你详细解析如何在个人生活、…

作者头像 李华
网站建设 2026/5/9 2:38:52

MoneyNote开源记账系统:5分钟快速搭建你的个人财务管理中心

还在为混乱的账目烦恼吗?日常消费记录零散、收支统计困难、财务数据无法可视化分析——这些痛点让许多人放弃了记账习惯。现在,开源免费的MoneyNote记账系统为你提供了完美的解决方案,让财务管理变得简单高效。 【免费下载链接】moneynote-ap…

作者头像 李华
网站建设 2026/5/9 1:03:19

DIN导轨式安装更便捷!16位模拟量采集模块使用攻略

高精度模拟量采集模块是物联网(IoT)系统中连接物理世界与数字平台的核心组件,主要用于将温度、压力、电流、电压等连续变化的模拟信号,转化为计算机可识别的数字信号,广泛应用于工业控制、智能监测、物联网终端等场景。 一、核心原理 模拟量采…

作者头像 李华
网站建设 2026/5/9 2:55:04

灵活配置+高精度:4/6/8/12路模拟量采集模块,工业场景首选

高精度模拟量采集模块是物联网(IoT)系统中“信号感知-数据转化-联网传输”的核心组件,其功能围绕“精准采集、稳定处理、灵活联网、智能适配”四大核心展开,既覆盖基础的信号转换需求,又延伸出适配工业、农业、医疗等物联网场景的增值功能。 …

作者头像 李华