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

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为例):
docker pull rabbitmq:management
  1. 创建并启动RabbitMQ容器:
  • 使用docker run命令创建并启动RabbitMQ容器。可以根据需要设置容器的名称、端口映射等参数。以下是一个示例命令,该命令创建了一个名为rabbitmq-container的容器,并映射了必要的端口(包括用于MQTT的1883端口):
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为例:
docker exec -it rabbitmq-container bash
  1. 启用MQTT插件:
  • 在容器内部,运行以下命令来启用MQTT插件:
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版本。

添加订阅主题
在这里插入图片描述
查看队列
在这里插入图片描述
发送和接收消息
在这里插入图片描述

相关文章:

RabbitMQ docker部署,并启用MQTT协议

在Docker中部署RabbitMQ容器并启用MQTT插件的步骤如下: 一、准备工作 安装Docker: 确保系统上已安装Docker。Docker是一个开源的容器化平台,允许以容器的方式运行应用程序。可以在Docker官方网站上找到适合操作系统的安装包,并…...

Python面试宝典第25题:括号生成

题目 数字n代表生成括号的对数&#xff0c;请设计一个函数&#xff0c;用于能够生成所有可能的并且有效的括号组合。 备注&#xff1a;1 < n < 8。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;["((()))","(()())","(())()"…...

计算机毕业设计选题推荐-社区停车信息管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

Python面试整理-自动化运维

在Python中,自动化运维是一个重要的应用领域。Python凭借其简单易用的语法和强大的库支持,成为了运维工程师的首选工具。以下是一些常见的自动化运维任务以及如何使用Python来实现这些任务: 1. 文件和目录操作 Python的os和shutil模块提供了丰富的文件和目录操作功能。 impo…...

自动化测试与手动测试的区别!

自动化测试与手动测试之间存在显著的区别&#xff0c;这些区别主要体现在以下几个方面&#xff1a; 测试目的&#xff1a; 自动化测试的目的在于“验证”系统没有bug&#xff0c;特别是在系统处于稳定状态时&#xff0c;用于执行重复性的测试任务。 手工测试的目的则在于通过…...

下属“软对抗”,工作阳奉阴违怎么办?4大权谋术,让他不敢造次

下属“软对抗”&#xff0c;工作阳奉阴违怎么办&#xff1f;4大权谋术&#xff0c;让他不敢造次 第一个&#xff1a;强势管理 在企业管理中&#xff0c;领导必须展现足够的强势。 所谓强势的管理&#xff0c;并不仅仅指态度上的强硬&#xff0c;更重要的是在行动中坚持原则和规…...

爬猫眼电ying

免责声明:本文仅做分享... 未优化,dp简单实现 from DrissionPage import ChromiumPage import time urlhttps://www.maoyan.com/films?showType2&offset60 pageChromiumPage()page.get(url) time.sleep(2) for i in range(1,20):# 爬取的页数for iu_list in page.eles(.…...

政安晨:【Keras机器学习示例演绎】(五十七)—— 基于Transformer的推荐系统

目录 介绍 数据集 设置 准备数据 将电影评分数据转换为序列 定义元数据 创建用于训练和评估的 tf.data.Dataset 创建模型输入 输入特征编码 创建 BST 模型 开展培训和评估实验 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 希望政安晨的…...

15.4 zookeeper java client之Curator使用(❤❤❤❤❤)

Curator使用 1. 为什么使用Curator对比Zookeeper原生2. 集成Curator2.1 依赖引入curator-frameworkcurator-recipes2.2 `yml`配置连接信息2.3 CuratorConfig配置类2.4 Curator实现Zookeeper分布式锁业务2.4.1 业务:可重入锁和不可重入锁可重入锁和不可重入锁InterProcessMutex …...

哈默纳科HarmonicDrive谐波减速机的使用寿命计算

在机械传动系统中&#xff0c;减速机的应用无处不在&#xff0c;而HarmonicDrive哈默纳科谐波减速机以其独特的优势&#xff0c;如轻量、小型、传动效率高、减速范围广、精度高等特点&#xff0c;成为了众多领域的选择。然而&#xff0c;任何机械设备都有其使用寿命&#xff0c…...

前后端完全分离实现登录和退出

前后端分离的整合 使用springsecurity前端项目redis完成认证授权的代码 1. 搭建一个前端工程 使用 vue ui搭建&#xff0c;使用webstrom操作 2. 创建一个登录页面 <template><div class"login_container"><!-- 登录盒子 --><div class"l…...

生信技能55 - WisecondorX分析结果过滤和质控

WisecondorX分析CNV,对每条染色的CNV loss和gain进行分组,对每个组求ratio平均值和zscore平均值,基于该数值对CNV进行质控和过滤,并对连续的CNV进行合并,获得可信的CNV。 WisecondorX基本使用方法以及npz文件转换和reference构建参考文章: 生信技能53 - wiseconrdoX自动…...

待办管理软件电脑版哪个好?待办事项清单app

在快节奏的现代社会中&#xff0c;有效地管理时间和任务变得越来越重要。很多人喜欢使用待办管理软件来协助整理琐碎事务、规划工作任务&#xff0c;以此提升工作效率。特别是对于上班族来说&#xff0c;一款能在电脑上便捷使用的待办软件&#xff0c;更是提升工作效率的得力助…...

【Mind+】掌控板入门教程01 “秀”出我创意

我们的好朋友麦乐佳即将举办一场派对&#xff0c;她要求每个参加派对的人都要佩戴一个可以彰显自己独特创意的装置。可以是会发光的帽子&#xff0c;可以是复古的电子表&#xff0c;还可以是其他有创意的作品。而现在&#xff0c;我们的手边刚好有一块掌控板&#xff0c;它自带…...

操作系统篇--八股文学习第十一天|进程调度算法你了解多少,进程间有哪些通信方式,解释一下进程同步和互斥,以及如何实现进程同步和互斥

进程调度算法你了解多少&#xff1f; 答&#xff1a; 先来先服务&#xff1a;按照请求的顺序进行调度。 这种调度方式简单&#xff0c;但是能导致较长作业阻塞较短作业。最短作业优先&#xff1a;非抢占式的调度算法&#xff0c;按估计运行时间最短的顺序进行调度。 但是如果…...

慢慢欣赏arm64内核启动6 primary_entry之el2_setup代码第三部分

分析代码 解析完虚拟化部分&#xff0c;我们继续分析启动过程中&#xff0c;对中断控制器的处理 #ifdef CONFIG_ARM_GIC_V3/* GICv3 system register access */mrs x0, id_aa64pfr0_el1ubfx x0, x0, #ID_AA64PFR0_GIC_SHIFT, #4cbz x0, 3fmrs_s x0, SYS_ICC_SRE_EL2orr x0, x…...

初谈Linux多线程--线程控制

文章目录 线程的概述理解线程Linux中的线程重新理解的进程Windows的线程线程的优点线程的缺点理解线程调度成本低 进程VS线程 线程控制创建线程等待线程线程函数传参线程的返回值新线程的返回值新线程返回值错误返回值为类对象 创建多线程线程的终止线程的分离pthread_detach 线…...

文件工具类 - FileUtils

Slf4j Component public class FileUtils {/*** 文件夹复制到指定的文件夹*/SneakyThrowspublic static void copyDir(File source, File target) {if (!target.exists()) {boolean mkdirs target.mkdirs();}if (source.isDirectory()) {File[] files source.listFiles();if …...

Kafka源码剖析-Producer基于内存缓存池分配ByteBuffer

文章目录 在将消息发送到内存缓中区之前做的准备工作发送消息前的准备工作代码示例源码分析1. **消息序列化**2. **元数据准备**3. **分区选择**4. **批处理准备**总结大致浏览一下源码中将消息写入内存缓冲的运行流程源码分析1. **消息序列化和创建记录批次**2. **确定分区**3…...

实习十九:学习笔记

上午 1、构建vue发行版本 [rootserver ~]# cd eleme_web/ [rootserver eleme_web]# npm run buid //项目未执行时运行该命令&#xff0c;创建发行版本 [rootserver eleme_web]# cd dist/ //dist中包含发行版本的所有文件 [rootserver dist]# ls css favicon.ico i…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验&#xff0c;以及大语言模型的分析能力&#xff0c;我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际&#xff0c;我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测&#xff0c;聊作存档。等到明…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

安卓基础(Java 和 Gradle 版本)

1. 设置项目的 JDK 版本 方法1&#xff1a;通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分&#xff0c;设置 Gradle JDK 方法2&#xff1a;通过 Settings File → Settings... (或 CtrlAltS)…...