RabbitMQ docker部署,并启用MQTT协议

在Docker中部署RabbitMQ容器并启用MQTT插件的步骤如下:

一、准备工作

  1. 安装Docker:
  • 确保系统上已安装Docker。Docker是一个开源的容器化平台,允许以容器的方式运行应用程序。可以在Docker官方网站上找到适合操作系统的安装包,并按照指引进行安装。
  1. 选择RabbitMQ镜像:
  • RabbitMQ官方在Docker Hub上提供了多个版本的镜像,包括带有管理插件的镜像。可以选择适合需求的镜像版本。例如,rabbitmq:management镜像包含了RabbitMQ的管理插件,方便通过Web界面管理RabbitMQ。

二、部署RabbitMQ容器

  1. 拉取RabbitMQ镜像:
  • 打开终端或命令行界面,运行以下命令来拉取RabbitMQ镜像(以rabbitmq:management为例):
bash 复制代码
docker pull rabbitmq:management
  1. 创建并启动RabbitMQ容器:
  • 使用docker run命令创建并启动RabbitMQ容器。可以根据需要设置容器的名称、端口映射等参数。以下是一个示例命令,该命令创建了一个名为rabbitmq-container的容器,并映射了必要的端口(包括用于MQTT的1883端口):
bash 复制代码
docker run -d --name rabbitmq-container -p 5672:5672 -p 15672:15672 -p 1883:1883 rabbitmq:management
  • 参数说明:
    • -d:以后台模式运行容器。
    • --name rabbitmq-container:指定容器的名称为rabbitmq-container。
    • -p 5672:5672:将容器内部的5672端口映射到主机的5672端口(用于AMQP协议)。
    • -p 15672:15672:将容器内部的15672端口映射到主机的15672端口(用于RabbitMQ管理界面)。
    • -p 1883:1883:将容器内部的1883端口映射到主机的1883端口(用于MQTT协议)。

三、启用MQTT插件

  1. 进入RabbitMQ容器:
  • 使用docker exec命令进入RabbitMQ容器的shell界面。以下命令以rabbitmq-container为例:
bash 复制代码
docker exec -it rabbitmq-container bash
  1. 启用MQTT插件:
  • 在容器内部,运行以下命令来启用MQTT插件:
bash 复制代码
rabbitmq-plugins enable rabbitmq_mqtt
  1. 退出容器:
  • 完成插件启用后,可以通过输入exit命令来退出容器的shell界面。

四、验证MQTT插件是否启用

  • 可以通过访问RabbitMQ的管理界面(通常是通过浏览器访问http://localhost:15672,使用默认的用户名guest和密码guest登录,注意这些默认凭证可能因配置而异)来验证MQTT插件是否已成功启用。
  • 在管理界面中,点击"Admin"选项卡,然后选择"Plugins"来查看已启用的插件列表。应该能在列表中看到rabbitmq_mqtt插件。

MQTTX 客户端验证

下载地址:https://mqttx.app/zh
登录

注意MQTT Version 选择3.1版本。

添加订阅主题

查看队列

发送和接收消息

相关推荐
杨浦老苏12 小时前
把项目管理搬回自己服务器:Windshift部署与避坑
docker·项目管理·群晖
木雷坞13 小时前
Baserow Docker部署:导入设备借用CSV,再用表单新增登记
运维·docker·容器
wefg114 小时前
【Docker】基本指令
运维·docker·容器
骑着蜗牛撵大象32715 小时前
558 万美元训出 671B 模型:DeepSeek-V3 算法与系统的协同拆解
分布式·算法·moe·deepseek-v3·mla·fp8训练
牛马工作号15 小时前
Copyparty 轻量文件共享:Docker Compose 部署、权限与多协议使用全指南
运维·docker·容器
德迅云安全-上官16 小时前
德迅游戏盾:面向 TCP 业务的分布式云安全防护方案
分布式·tcp/ip·游戏
oioihoii17 小时前
Windows部署MySpeed自建测速服务:Docker运行后直接测速,再配置固定公网地址远程查看
运维·docker·容器
未秃头的程序猿17 小时前
@ConditionalOnMissingBean 把我配好的 RabbitMQ 手动 ack 吃掉了
后端·rabbitmq
麻瓜code18 小时前
分布式锁演进:从一个用户下两单,到 Redisson,我改了四版
分布式·wpf
skywalk816318 小时前
hive —— 多机 AI Agent 协同的任务总线:分布式,多节点同时运行,保障不会宕机
人工智能·hive·分布式