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版本。

添加订阅主题

查看队列

发送和接收消息

相关推荐
gsls20080813 小时前
JVM 堆内存参数 & Docker 容器适配,一次讲清楚
jvm·docker·容器
Lumbrologist15 小时前
【零基础部署】Docker 部署 AutoGen 多 Agent 对话框架保姆级教程
运维·docker·容器
Plastic garden17 小时前
Docker compose ruoyi示例
运维·docker·容器
qq_4523962317 小时前
第十四篇:《Docker Swarm 生产实践:堆栈部署与配置管理》
运维·docker·容器
qq_4523962318 小时前
第十三篇:《Docker Swarm 集群基础》
运维·docker·容器
坤昱18 小时前
cfs调度类深入解刨——最新内核细节分析5
linux·分布式·cfs调度·eevdf调度·linux调度·linux技术·kernel最新版本内容
AI人工智能+电脑小能手19 小时前
【大白话说Java面试题 第91题】【Mysql篇】第21题:分布式锁的使用场景和原理?
java·数据库·分布式·mysql·面试
JAVA社区19 小时前
Java高级全套教程(十三)—— 分布式锁超详细实战详解(原理+三种方案企业级落地)
java·开发语言·分布式·spring cloud·面试·java-zookeeper
Leo18719 小时前
分布式事务
java·分布式·分布式事务
取经蜗牛20 小时前
docker环境中redis连接三种场景配置指南,物理机、wsl、docker
redis·docker·容器