Docker安装Mosquitto

在物联网项目中,我们经常用到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.hqwc.cn/news/705029.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Altium Designer封装库和元器件符号库下载与导入教程(SnapEDA 、Ultra Librarian、Alldatasheetcn)

1.AD封装库和元器件符号库下载网址 以下是一些全球热门的Altium Designer封装库和元器件符号库下载网址推荐: Altium Content Vault (现称为Altium Manufacturer Part Search):这是Altium官方提供的元器件库,可以直接在Altium Designer中使用…

管仲故乡是颍川,何分颍上或颍下

第一仲父管仲,故乡在哪里?依然像许多名人故里一样存在争议,但是这个争议却很不一般,引出了一个大话题。 管子是安徽颍上县人,《史记》记载: “管仲,颍上人也。”颍上县有管鲍祠,是安徽省重点文物…

CNN卷积神经网络初学

1.为什么要学CNN 在传统神经网络中,我们要识别下图红色框中的图像时,我们很可能识别不出来,因为这六张图的位置都不通,计算机无法分辨出他们其实是一种形状或物体。 这是传统的神经网络图,通过权重调整神经元和神经元…

一文说通用户故事点数是什么?

一文说通用户故事点数是什么? 第26期:一文说通用户故事点数是什么? 用户故事点数是一种采用相对估算法进行估算的一种工具,一般采用斐波那契数列表征用户故事里说的大小,采用0 1 2 3 5 8 13这样的一些数字来表征用户…

打个样为centos安装mysql(下载安装)

文章目录 一、下载二、卸载mariadb三、创建用户和组四、解压并安装mysql五、修改my.cnf六、配置环境七、初始化数据库八、启动mysql服务、改密码配置远程链接九、完成 如果是windows的服务器,请看我另外一个文章: windows下安装mysql教程 一、下载 htt…

从零入门激光SLAM(十五)——IMU在SLAM中的用处

从这节开始,进入到LIO章节,LIO具有更高的鲁棒性、精度、实时性、环境适应性和成本效益,快来学习一下吧 一、IMU能干什么 惯性测量单元(Inertial measurement unit,IMU),是测量物体三轴姿态角以及加速度的装置。IMU通…

Python数据分析与数据可视化 概念

考试题型: 一、填空题(1分*10) 二、程序代码填空(1分*20) 三、读程序写结果(10分*4) 四、程序设计(10分*1) 五、问答题(20分*1) 考试范围&#x…

【Windows】回忆Win98

回忆Win98,又看到了这个Excel界面,上次还是十多年前的计算机课上 1、安装环境 Win11家庭版,23H2,VMware Workstation Pro 16 , 2、安装步骤及参考 虚拟机里的硬盘设置成SATA(否则各种错误),安装MSDOS7.1&#xff…

MP3解码入门(基于libhelix)

主要参考资料: 【Arduino Linux】基于 Helix 解码库实现 MP3 音频播放: https://blog.csdn.net/weixin_42258222/article/details/122640413 libhelix-mp3: https://github.com/ultraembedded/libhelix-mp3/tree/master 目录 一、MP3文件二、MP3 解码库三、libhelix-mp3库3.1 …

JAVA实验项目(三):基于Java 设计的学生成绩管理系统

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记…

【数据结构】图和基本算法

文章目录 1. 图的基本概念1.1 图本身的定义1.2 相关概念 2. 图的存储结构2.1 邻接矩阵2.2 邻接表 3. 图的遍历3.1 广度优先遍历(BFS)3.2 深度优先遍历(DFS) 4. 最小生成树4.1 Kruskal算法4.2 Prim算法 5. 最短路径5.1 单源最短路径…

家用充电桩远程监控安全管理系统解决方案

家用充电桩远程监控安全管理系统解决方案 在当今电动汽车日益普及的背景下,家用充电桩的安全管理成为了广大车主关注的重点问题。为了实现对充电桩的高效、精准、远程监控,一套完善的家用充电桩远程监控安全管理系统解决方案应运而生。本方案旨在通过先…