Docker安装Mosquitto

news2024/12/26 11:06:17

在物联网项目中,我们经常用到MQTT协议,用MQTT协议做交互就需要部署一个MQTT服务,而mosquitto是一个常用的MQTT应用服务,

        Mosquitto是一个实现了消息推送协议MQTT v3.1的开源消息代理软件。MQTT(Message Queuing Telemetry Transport)是一种轻量级、高效的协议,专为低带宽、高延迟或不可靠的网络而设计,使其适用于各种物联网(IoT)和消息传递应用。

Mosquitto的主要功能包括消息代理,它充当消息代理,促进使用MQTT协议的设备或应用程序之间的通信。同时,Mosquitto还提供了用户密码管理工具(mosquitto_passwd)和其他相关程序文件,如mosquitto_pub(用于发布消息的命令行客户端)和mosquitto_sub(用于订阅消息的命令行客户端)。

        总的来说,Mosquitto是一个功能强大、易于使用和部署的开源消息代理软件,广泛应用于物联网和其他需要轻量级和高效消息传递的场景中,这节讲如何用docker部署一个mosquitto。

首先需要安装有docker,先用docker拉下来mosquitto,他的镜像名是eclipse-mosquitto,执行以下命令从远程仓库获取到mosquitto的镜像文件:

docker pull eclipse-mosquitto

下载好镜像后可以通过docker images查看下拉好的镜像,确认没有问题后面就开始做运行前的准备了,为了以后方便操作我们需要把常用的文件夹挂在到磁盘中,现在磁盘中创建三个文件夹分别是config,data和log,一个是存放配置文件,可以用来修改mosquitto的端口,配置支持scoket或者匿名访问等。data用来存放数据,log用来存放日志。

mkdir -p /usr/local/mosquitto/config
mkdir -p /usr/local/mosquitto/data
mkdir -p /usr/local/mosquitto/log

在上面创建的config文件夹中创建mosquitto的配置文件mosquitto.conf内容如下:

persistence true
persistence_location /usr/local/mosquitto/data
log_dest file /usr/local/mosquitto/log/mosquitto.log
listener 9001
port 1883
allow_anonymous true

然后为创建的目录授权

chmod -R 755 /usr/local/mosquitto
chmod -R 777 /usr/local/mosquitto/log

一切就绪后执行运行命令:

docker run -it --name=mosquitto --privileged  -p 1883:1883 -p 9001:9001 -v /usr/local/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf  -v /usr/local/mosquitto/data:/mosquitto/data -v /usr/local//mosquitto/log:/mosquitto/log -d  eclipse-mosquitto 

 运行后可以通过docker ps -a查看是否运行成功,如果是用阿里云服务器,还要记得把出入站规则添加上1883和9001端口,方便外网访问

然后就可以用MQTT连接工具来测试了,这里以MQTTX为例,发送消息后在监听的窗口可以监听到消息了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1680228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI大模型日报#0515:Google I/O大会、 Ilya官宣离职、腾讯混元文生图大模型开源

导读:欢迎阅读《AI大模型日报》,内容基于Python爬虫和LLM自动生成。目前采用“文心一言”(ERNIE 4.0)、“零一万物”(Yi-34B)生成了今日要点以及每条资讯的摘要。 《AI大模型日报》今日要点:谷歌…

Java 自然排序和比较器排序区别?Comparable接口和Comparator比较器区别?

注:如果你对排序不理解,请您耐心看完,你一定会明白的。文章通俗易懂。建议用idea运行一下案例。 1)自然排序和比较器排序的区别? 自然排序是对象本身定义的排序规则,由对象实现 Comparable 接口&#xff…

什么?你设计接口什么都不考虑?

如果让你设计一个接口,你会考虑哪些问题? 1.接口参数校验 接口的入参和返回值都需要进行校验。 入参是否不能为空,入参的长度限制是多少,入参的格式限制,如邮箱格式限制 返回值是否为空,如果为空的时候是…

代码随想录算法训练营第二十九天 | 39. 组合总和、40.组合总和II、131.分割回文串

39. 组合总和 题目链接/文章讲解: 代码随想录 视频讲解:带你学透回溯算法-组合总和(对应「leetcode」力扣题目:39.组合总和)| 回溯法精讲!_哔哩哔哩_bilibili 解题思路 这里和组合不同的是元素可以重复选取…

2024 Google I/O大会:全方位解读最新AI技术和产品

引言: 2024年的Google I/O大会如期举行,作为技术圈的年度盛事之一,谷歌展示了其在人工智能领域的最新进展。本次大会尤其引人注目,因为它紧随着OpenAI昨天发布GPT-4o的脚步。让我们详细解析Google此次公布的各项新技术和产品&…

【C语言】6.C语言VS实用调试技巧(1)

文章目录 1.什么是 bug2.什么是调试(debug)?3.Debug 和 Release4.VS调试快捷键4.1 环境准备4.2 调试快捷键 5.监视和内存观察5.1 监视5.2 内存 1.什么是 bug bug现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题…

计算机系列之排序算法

20、排序算法 1、直接插入排序(这里以从小到大排序为例) ◆要注意的是,前提条件是前i-1个元素是有序的,第i个元素依次从第i-1个元素往前比较,直到找到一个比第i个元素值小的元素,而后插入,插入…

战网国际服怎么下载 暴雪战网一键下载安装图文教程

战网国际版,或称为Battle.net全球版,是暴雪娱乐构建的一项跨越国界的综合游戏交流平台,它无视地理限制,旨在服务全球每一个角落的游戏爱好者。不同于地区专属版本,国际版为玩家开启了一扇无门槛的大门,让每…

使用virtualbox和vagrant搭建centos环境报错问题解决

启动提示下面的异常: Timed out while waiting for the machine to boot. This means that Vagrant was unable to communicate with the guest machine within the configured ("config.vm.boot_timeout" value) time period.If you look above, you sh…

多区域OSPF路由配置

一、基础配置 1.搭建实验拓扑图 2.实验编址 具体如何配置可以看这一篇详细的博文:单区域OSPF实验-CSDN博客 3.分别检查六个路由器的配置: 使用命令display ip interface brief R1的配置 其他大家可以调出来,再与实验拓扑图进行比对&#…

广告小白必看|谷歌Google Ads被封禁原因是什么,如何防范?

跨境出海业务少不了需要做Google Ads推广业务;其中让投手们闻风丧胆的消息就是帐户被暂停。当 Google 检测到任何违反其政策且可能损害用户在线体验的行为时,就会发生这种情况。那么如何在做广告推广的同时,保证账号不被封禁呢?看…

Linux:文件、fd

Linux:文件、fd 前言一、C语言中常见打开文件的函数接口二、打开文件的系统调用接口三、文件描述符fd四、为何Linux下一切皆文件 前言 文件 内容 属性 所有对文件的操作本质上就分为:对内容的修改和对属性的修改。  内容是数据,属性也是数据。所以存…

Jmeter(四十一) - 从入门到精通进阶篇 - Jmeter配置文件的刨根问底 - 下篇(详解教程)

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入 1.简介 为什么宏哥要对Jmeter的配置文件进行一下讲解了,因为有的童鞋或者小伙伴在测试中遇到一些需要修改配置文件的问题不是很清楚也不是很懂,就算修改了也是…

基于51单片机的自动浇花器电路

一、系统概述 自动浇水灌溉系统设计方案,以AT89C51单片机为控制核心,采用模块化的设计方法。 组成部分为:5V供电模块、土壤湿度传感器模块、ADC0832模数转换模块、水泵控制模块、按键输入模块、LCD显示模块和声光报警模块,结构如…

Gradio 案例——将 dicom 文件转为 nii文件

文章目录 Gradio 案例——将 dicom 文件转为 nii文件界面截图依赖安装项目目录结构代码 Gradio 案例——将 dicom 文件转为 nii文件 利用 SimpleITK 库,将 dicom 文件转为 nii文件更完整、丰富的示例项目见 GitHub - AlionSSS/dcm2niix-webui: The web UI for dcm2…

利用MMDetection进行模型微调和权重初始化

目录 模型微调修改第一处:更少的训练回合Epoch修改第二处:更小的学习率Learning Rate修改第三处:使用预训练模型 权重初始化实际使用案例init_cfg 的具体使用规则初始化器配置汇总 本文基于 MMDetection官方文档,对模型微调和权重…

eMMC和SD模式速率介绍

概述 在实际项目开发中我们常见的问题是有人会问,“当前项目eMMC、SD所使用模式是什么? 速率是多少?”。这些和eMMC、SD的协议中要求的,要符合协议。接下来整理几张图来介绍。 eMMC 模式介绍 一般情况下我们项目中都是会支持到HS400 8bit 1.8V,最大时钟频率为200MHZ,通…

ESP8266-01模块继电器制作手机APP远程遥控智能开关

资料下载地址: ESP8266-01模块继电器制作手机APP远程遥控智能开关 这是一款使用ESP8266-01模块继电器制作手机APP远程遥控智能开关,它能实现远程遥控、定时、倒计时控制。电路简单,适合新手入门制作,下图是用这个智能开关制作的小…

springboot项目打包部署

springboot打包的前提条件jdk必须17以后不然本地运行不来(我用的jdk是22) 查看自己电脑jdk版本可以参考(完美解决Windows10下-更换JDK环境变量后,在cmd下执行仍java -version然出现原来版本的JDK的问题-CSDN博客) 1、…

treejs 3D+echart实现三维旋转炫酷导航网页

treejs 3Dechart实现三维旋转炫酷导航网页https://www.bilibili.com/video/BV1SM4m1C7ki/