Docker安装Mosquitto:从入门到实践

2025-01-06 19:37:43 1点赞 6收藏 4评论

前言

在智能家居领域,MQTT协议扮演着越来越重要的角色。作为一个轻量级的消息发布/订阅传输协议,MQTT特别适合物联网设备间的通信。Mosquitto是实现MQTT协议的优秀开源软件,本文将详细介绍如何在Docker环境下安装和配置Mosquitto。

部署架构

在开始安装之前,让我们先了解Docker部署Mosquitto的整体架构。如图所示,整个系统分为主机层和容器层,通过卷挂载和端口映射实现数据持久化和对外服务。

Docker安装Mosquitto:从入门到实践

持久化存储 通过卷挂载实现的持久化存储有两个关键目录:

  • 配置目录(config):只读模式挂载,确保配置安全

  • 日志目录(log):记录运行日志,便于问题诊断

群晖或者飞牛OS部署

1. Docker镜像仓库搜索 eclipse-mosquitto,下载镜像。

Docker安装Mosquitto:从入门到实践

2. 使用镜像创建容器,设置开机启动。

Docker安装Mosquitto:从入门到实践

3. 端口使用1883作为默认端口,设置好文件夹。

Docker安装Mosquitto:从入门到实践

命令行快速部署

1. 拉取镜像

docker pull eclipse-mosquitto:latest

2. 启动容器

docker run -d --name mosquitto --restart always -p 1883:1883 eclipse-mosquitto

就是这么简单!现在你已经有了一个功能完整的MQTT服务器。默认情况下,Mosquitto允许匿名连接,这对于家庭网络环境来说非常方便。

验证安装

1. 检查容器状态

docker ps | grep mosquitto

应该能看到容器正在运行。

2. 测试MQTT功能

安装MQTT客户端工具:

sudo apt install mosquitto-clients

打开两个终端窗口,分别运行:

订阅者:

mosquitto_sub -h localhost -t test/topic

发布者:

mosquitto_pub -h localhost -t test/topic -m "Hello MQTT"

如果订阅者收到消息,说明MQTT服务运行正常。

实际应用

1. 智能家居集成

在Home Assistant中添加MQTT集成:

# configuration.yaml mqtt: broker: localhost port: 1883

2. DIY设备接入

ESP8266/ESP32示例代码:

#include #include const char* mqtt_server = "your_nas_ip"; const int mqtt_port = 1883; void setup() { client.setServer(mqtt_server, mqtt_port); // ... 其他设置代码 }

在智能家居领域部署MQTT服务时,往往过度追求完美配置反而增加了不必要的复杂度。通过Docker部署Mosquitto,我们可以利用其默认配置实现大多数家庭场景的需求。本文介绍的简化部署方案,仅保留data和log目录的挂载,既保证了数据持久化,又避免了配置文件维护的麻烦。这种"够用就好"的理念特别适合家庭环境:简单可靠,易于维护,且迁移方便。在后续使用中,如果确实需要特殊配置,也可以随时通过Docker命令行参数进行调整。这种轻量级的部署方式,为智能家居爱好者提供了一个低门槛但高效的MQTT服务器解决方案。

Docker安装Mosquitto:从入门到实践

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

Xiaomi 小米 米家智能插座3

Xiaomi 小米 米家智能插座3

48.8元起

Xiaomi 小米 ZSWG01CM 智能中枢网关 黑色

Xiaomi 小米 ZSWG01CM 智能中枢网关 黑色

289元起

MIJIA 米家 3 智能温湿度计 白色

MIJIA 米家 3 智能温湿度计 白色

49元起

Xiaomi 小米 SJWS01LM 水浸卫士 白色

Xiaomi 小米 SJWS01LM 水浸卫士 白色

53.9元起

MIJIA 米家 宠物喂食器2

MIJIA 米家 宠物喂食器2

347.7元起

Xiaomi 小米 MCCG02HL 小米门窗传感器 2 米家

Xiaomi 小米 MCCG02HL 小米门窗传感器 2 米家

37.9元起

MIJIA 米家 空调伴侣2 智能插座 白色

MIJIA 米家 空调伴侣2 智能插座 白色

68元起

Xiaomi 小米人在传感器 白色

Xiaomi 小米人在传感器 白色

118元起

小米(MI)米家智能温湿度计3mini 家用车内高精度温度显示器智能联动高续航迷你便携 白色

小米(MI)米家智能温湿度计3mini 家用车内高精度温度显示器智能联动高续航迷你便携 白色

34.9元起

领普人体存在传感器ES3 电池供电

领普人体存在传感器ES3 电池供电

79元起

领普科技(linptech)小米IOT联动星环触屏智能开关S2 智能家庭面板触屏遥控 星光白

领普科技(linptech)小米IOT联动星环触屏智能开关S2 智能家庭面板触屏遥控 星光白

199.2元起

乐天派乐天派人在传感器Air 双电池供电 接入米家智能联动 毫米波雷达红外光感三合一 8米最大感应距离

乐天派乐天派人在传感器Air 双电池供电 接入米家智能联动 毫米波雷达红外光感三合一 8米最大感应距离

132元起

Xiaomi 小米 智能家庭面板

Xiaomi 小米 智能家庭面板

328元起

MIJIA 米家 1S 增强版 智能台灯 白色

MIJIA 米家 1S 增强版 智能台灯 白色

160.55元起

Xiaomi 小米无线开关 蓝牙版

Xiaomi 小米无线开关 蓝牙版

32.9元起

MIJIA 米家 DHKG02ZM 智能开关 双开单控 白色

MIJIA 米家 DHKG02ZM 智能开关 双开单控 白色

69元起
4评论

  • 精彩
  • 最新
  • DOCKER 部署好了,后面的验证和has 配置增加mqtt不会。 不知道用户名 密码,添加失败

    校验提示文案

    提交
    mqtt的默认用户名和密码在log里

    校验提示文案

    提交
    可以关注下我的公众号

    校验提示文案

    提交
    收起所有回复
  • 我在has 配置了,一直提示连接失败

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
6
扫一下,分享更方便,购买更轻松