在docker中安装MQTT教程

news2024/9/22 9:42:36

网上的好多关于在docker中安装MQTT教程都是错误的不完整的。这篇博客是完整的,实践过的,踩过了很多的坑得来的,欢迎大家享用!

1、首先在docker中拉取镜像

docker pull eclipse-mosquitto

2、创建配置文件目录

mkdir -p /docker/mosquitto/config
mkdir -p /docker/mosquitto/data
mkdir -p /docker/mosquitto/log

注意:这个地方的目录是宿主机目录

3、在宿主机创建配置文件

#存放基本配置
touch /docker/mosquitto/config/mosquitto.conf

#存放用户密码配置文件
touch /docker/mosquitto/config/pwfile.conf

#日志目录
touch /docker/mosquitto/log/mosquitto.log

4、修改配置文件

vi /docker/mosquitto/config/mosquitto.conf

注意:这里的路径是宿主机路径

具体文件如下:
这里的所有路径,指向的都是 docker 的路径,不需要修改!!!

persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log

listener 1883
#协议模式,可以不指定
#protocol websockets

# 关闭匿名模式
allow_anonymous false

#指定密码文件
password_file /mosquitto/config/pwfile.conf

5、修改文件权限

chmod -R 755 /docker/mosquitto
chmod -R 777 /docker/mosquitto/log #日志目录要最大权限

注意:这里的目录是宿主机目录

6、启动命令

docker run -it --name=mosquitto --privileged  -p 1883:1883 -p 9100:9001 -v /docker/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf  -v /docker/mosquitto/data:/mosquitto/data -v /docker/mosquitto/log:/mosquitto/log -v /docker/mosquitto/config/pwfile.conf:/mosquitto/config/pwfile.conf -d  eclipse-mosquitto 
命令详解:
1883是应用的端口,9001是管理程序的端口。要将宿主机和容器之间的文件关系进行映射,
冒号前面的是宿主机配置,冒号后面是容器配置
比如:-p 1883:1883  前面是宿主机端口 ,后面是容器端口,因此需要在宿主机的防火墙中放开1883这个端口。其他配置都是类似,需要了解。

好多网上的启动命令没有这一句话:-v /docker/mosquitto/config/pwfile.conf:/mosquitto/config/pwfile.conf
就会报找不到文件的错误:Error: Unable to open log file /mosquitto/log/mosquitto.log for writing.
一定记得把宿主机的文件目录和容器的目录映射起来,这样在启动的时候,就不会报错。

7、账号密码修改

进入mosquitto容器

docker exec -it mosquitto sh

mosquitto_passwd -b /mosquitto/config/pwfile.conf test test2023  #设置账号密码

exit退出容器

8、重启容器

docker restart mosquitto

9、客户端访问

下载MQTT.fx进行配置访问,如下图:
在这里插入图片描述
以上,就是本次的详细过程!

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

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

相关文章

学习Bootstrap 5的第十二天

目录 轮播 轮播所使用的类说明 创建轮播 实例 轮播图片上添加描述 实例 模态框 如何创建模态框 实例 模态框尺寸 全屏模态 实例一 实例二 模态框居中显示 实例 模态框滚动条 实例 轮播 轮播所使用的类说明 类描述.carousel创建轮播。.carousel-indicators为…

卷积神经网络中的 Full、Same 和 Valid 卷积

文章目录 卷积神经网络概述Full 卷积Same 卷积Valid 卷积卷积模式的选择代码示例结论 🎉欢迎来到AIGC人工智能专栏~卷积神经网络中的 Full、Same 和 Valid 卷积 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨博客主页:IT陈寒的博客🎈该系列…

$set小概率的赋值失败问题都被我碰上了

这用到this.$set()的方法用来更新对象中添加的键值对,发现能更新,但是点击切换不能在浏览器上显示。试好多次都没有找到问题,上百度查找发现问题出在图上的第二部,把第二步注释掉就没有问题了,就可以正常切换&#xff…

管理方法论:5. 团队发展的阶段模型——调整管理策略

概念 布鲁斯塔克曼(Bruce Tuckman)提出团队发展阶段模型。 团队发展的五个阶段是:组建期(Forming)、激荡期(Storming)、规范期(Norming)、执行期(Performing)和休整期&…

二十种实战调优MySQL性能优化的经验

老铁感觉不错的话就点个赞,文末送 [MySQL性能调优与架构设计.pdf]电子书 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关…

Jmeter——循环控制器中实现Counter计数器的次数重置

近期在使用Jmeter编写个辅助测试的脚本,用到了多个Loop Controller和Counter。 当时想的思路就是三个可变的数量值,使用循环实现;但第三个可变值的数量次数,是基于第二次循环中得到的结果才能确认最终次数,每次的结果…

港联证券:A股性价比已非常高 有望随基本面回升而回暖

日前,在第17届中国上市公司价值评选专家评审会暨专家研讨会上,海通证券研究所所长路颖提示出资者重视当下宏观经济以及A股市场的活跃因素。她表明,本轮库存周期或将于2023年三季度见底随后迎来上升,一起当前A股性价比已非常高&…

什么是作业指导书sop?sop作业指导书是什么意思?

现在很多生产企业都引进了sop作业指导书的概念,不过很多人却对sop不甚了解,缺乏最基本的认知,本篇就来跟大家讲一讲,到底什么是作业指导书sop,企业如何打造一份好的sop作业指导书? sop的全名是标准作业程序…

人大金仓以新兴技术加速数据管理智能化

新兴技术:数据库自治事务 引言 在当今数字化时代,数据库技术不断演进,为企业提供了更高效的数据管理和处理手段。数据库自治事务作为一项新兴技术,引起了业界的广泛关注。目前,KingbaseES自治事务技术已经成功地应用于错误日志记录…

算法-80. 删除有序数组中的重复项 II-⭐⭐

给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素只出现两次 ,返回删除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 提示&…

刚考过PMP想问一下怎样才能转行做PM

引言: 在当今竞争激烈的职场环境下,许多人考虑转行成为项目经理(PM),这是一个充满挑战和机遇的职业。虽然转行可能会面临一些困难,但通过采取适当的策略和技巧,你可以成功地转型为一名优秀的项目…

短视频业内有一句话:先模仿在超越

最近我在一个公众号发现了视频号爆款排行榜,这里集合了视频号的各种视频,可以帮助用户在视频号中了解目前最受欢迎和流行的内容类型。 除此之外很多人不知道这个视频号爆款排行是做什么的,主要是为了大家了解视频号的爆款数据以及为个人或者…

数据分析:小红书品牌“共情力”缔造指南

导语 “从哪来回哪去。”“你要带我回中国吗?” 8月30日,博主“煎饼果仔”、“夏天妹妹”发布自制短剧《逃出大英博物馆》,讲述一盏玉壶逃出大英博物馆寻找回国之路的故事,在发布后短时间内实现“现象级传播”。 见证现象级话题…

线性表-----栈(栈的初始化、建立、入栈、出栈、遍历、清空等操作)

目录 前言 栈 1.定义 2.栈的特点 3.栈的储存方式 3.1数组栈 3.2链栈 4.栈的基本操作(C语言) 4.1初始化 4.2判断是否满栈 4.3判断空栈 4.4 入栈 4.5 出栈 4.6获取栈顶元素 4.7遍历栈 4.8清空栈 完整代码示例 前言 大家好呀!今天我…

聚观早报 | OPPO A2 Pro官宣;京东建材发布“1家1”计划

【聚观365】9月15日消息 OPPO A2 Pro官宣 京东建材发布“1家1”计划 谷歌开始新一轮“瘦身”计划 CapCut全球用户总支出超1亿美元 马斯克称特斯拉FSD安全性超过人类司机 OPPO A2 Pro官宣 去年11月,OPPO推出了A1 Pro,该机采用了120Hz OLED护眼曲屏&…

pyhton内置的数据类型(二)

pyhton内置的数据类型 一、内置数据类型的解释创建及赋值二、表示转义的符号实例操作 二、字符串的基本特性1.连接操作符 “ ” ,提示:必须是同一数据类型才能相加2. 重复操作符 “ * ”3.成员操作符 “ in ”4. 正向索引和反向索引5. 切片(…

Scholarcy:AI在线论文摘要总结工具

【产品介绍】 名称 scholarcy 成立/上线时间 2018年 具体描述 scholarcy是一个基于AI的在线论文文献摘要总结工具,可以帮助研究人员和学生快速阅读和理解各种类型的文献,如研究论文、报告和书籍章节。 scholarcy可以在几秒钟…

【Mybatis源码分析】插件机制和Pagehelper插件源码分析

分页插件Pagehelper源码分析 一、插件机制二、Pagehelper源码分析 前文叙述过以下内容:Mybatis对动态代理的使用,一二级缓存和懒加载的原理。其中二级缓存解释了在分布式环境下可能出现缓存不一致问题,但没说解决方案。其实个人认为这种问题除…

前端JavaScript中异步的终极解决方案:async/await

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 1. 背景 在深入讨论 async/await 之前,我们需要了解一下 JavaScript 的单线程和非阻塞的特性。JavaScript 是…

编写postcss插件,全局css文件px转vw

跟目录下创建plugins文件夹,创建postcss-px-to-viewport.ts文件 文件内代码: // postcss 的插件 vite内置了postCss插件 无需安装 import { Plugin } from postcss;interface Options {viewportWidth: number }const Options {viewportWidth: 375, // …