当前位置: 首页 > news >正文

在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。

http://www.gsyq.cn/news/113518.html

相关文章:

  • 具身智能:零基础入门睿尔曼机械臂(五)—— 手眼标定核心原理与数学求解
  • d2s-editor:暗黑破坏神2存档编辑的终极解决方案
  • C++元编程完全指南
  • Compressor.js革命性图像压缩:让你的Web应用飞起来
  • 学习笔记——线程
  • NVIDIA显卡设置终极指南:轻松掌握图形性能优化技巧
  • AI自动生成PPT工具对比分析,效率差距明显
  • EmotiVoice语音合成质量打分标准(MOS)参考
  • 暗黑破坏神2存档编辑器终极解决方案:告别刷怪困扰,开启自定义游戏新纪元
  • 文档生成PPT工具大集合,PDF与Word都能直接用
  • 免费开源屏幕录制神器:vokoscreenNG 2024终极指南
  • 灵活配置+高精度:4/6/8/12路模拟量采集模块,工业场景首选
  • Mem Reduct终极指南:简单三步解决电脑内存不足问题
  • JavaScript解密神器:JStillery让你的代码分析变得如此简单
  • 实战指南:Kafka-UI隔离网络环境部署全流程
  • 导轨水平安装中安装面不平的解决方法
  • 手机端3秒AI绘图:denoising-diffusion轻量化实战指南
  • Obsidian Style Settings 插件终极使用指南:快速个性化你的笔记界面
  • Switch大气层主题终极指南:完美定制你的个性化界面
  • Vosk Android中文语音识别模型部署:解决“Failed to unpack the model“错误的完整指南
  • 5分钟解锁OpenPLC Editor:新手也能快速上手的工业自动化编程神器
  • LobeChat签到二维码说明文字
  • 开发过程中动态 SQL 中where 1=1的作用是什么
  • 开源MoneyNote:打造你的个人财务管家
  • 如何快速批量下载抖音视频:终极自动化工具使用指南
  • DeepSeek-Math实战指南:从入门到精通的深度解析
  • 摔倒检测和识别3:基于深度学习YOLOv12神经网络实现摔倒检测和识别(含训练代码、数据集和GUI交互界面)
  • 如何在普通GPU上运行70亿参数Llama-2对话模型:完整实践指南
  • Kafka-UI内网部署实战:三步搞定隔离环境集群管理
  • 5分钟掌握微信QQ消息完整保存:全平台防撤回实用指南