讲师中心 微信公众号
AI工具推荐 视频效率加速

如何使用Docker容器部署高性能的MQTT消息网关

夏枫同学_8332

夏枫同学_8332

发布时间:2026-05-11 10:23:19

|

362人浏览过

|

来源于php中文网

原创

NanoMQ适合边缘场景,Mosquitto 2.0.15适合中小规模生产环境;前者内存仅约200KB、支持MQTT 5.0与多云桥接,后者修复内存泄漏、稳定性强。

如何使用docker容器部署高性能的mqtt消息网关

用Docker部署高性能MQTT消息网关,关键不在“装得上”,而在“跑得稳、连得广、扩得快”。目前主流选择有两类:轻量边缘型(如NanoMQ)和高并发服务型(如Mosquitto 2.x或EMQX),选哪个取决于你的场景——是部署在树莓派/工控机上做本地汇聚,还是放在云服务器上承载上千设备?下面分三类实用路径说明。

选NanoMQ:边缘侧5分钟极速上线

NanoMQ专为资源受限但要求低延迟的边缘场景设计,内存占用仅约200KB,支持MQTT 3.1.1/5.0、多云桥接、断网续传,适合工厂传感器网关、车载终端前置节点等。

Learn Docker
Learn Docker

通过 LabEx 容器基础课程和镜像/编排实验学习 Docker。Docker 课程和实验通过 LabEx MCP 获取,返回 labex.io 链接以继续。

下载
  • 一键拉起(无需配置文件):
    docker run -d --name nanomq -p 1883:1883 -p 8083:8083 -p 8883:8883 emqx/nanomq:latest
  • 验证是否就绪:
    docker ps -f name=nanomq → 看到状态为 Up 即可
  • 连接测试:用MQTTX客户端连 localhost:1883,订阅 test/# 后发一条消息,能实时收到即通

选Mosquitto 2.0.15:稳定可靠,生产首选

Mosquitto成熟度高、社区支持强,2.0.15版本修复了早期2.x的内存泄漏问题,适合对稳定性要求严苛的中小规模物联网平台(

  • 先建好目录结构(保障持久化):
    mkdir -p ~/mqtt-docker/{config/mqtt,mqttdata,mqttlog}
    chmod -R 777 ~/mqtt-docker/mqttlog
  • 写最小可用配置(~/mqtt-docker/config/mqtt/mosquitto.conf):
    allow_anonymous true
    persistence true
    persistence_location /mosquitto/data/
    log_dest file /mosquitto/log/mosquitto.log
  • 启动容器:
    docker run -d \
    --name mosquitto \
    -v ~/mqtt-docker/config/mqtt:/mosquitto/config \
    -v ~/mqtt-docker/mqttdata:/mosquitto/data \
    -v ~/mqtt-docker/mqttlog:/mosquitto/log \
    -p 1883:1883 \
    eclipse-mosquitto:2.0.15

进阶:需要多协议或高并发?考虑RabbitMQ+MQTT插件

如果后端已用RabbitMQ做微服务消息总线,又想让IoT设备用MQTT接入,不必另起Broker。启用其官方MQTT插件后,一套系统同时支撑AMQP(服务间)和MQTT(设备端)。

  • 启动带插件的RabbitMQ:
    docker run -d \
    --name my-rabbitmq \
    -p 5672:5672 -p 15672:15672 -p 1883:1883 \
    rabbitmq:3-management
  • 进入容器启用插件:
    docker exec -it my-rabbitmq rabbitmq-plugins enable rabbitmq_mqtt
  • 默认MQTT监听1883端口,用户名密码同RabbitMQ管理后台(guest/guest),开箱即用

不复杂但容易忽略:所有方案都要确认宿主机防火墙放行1883端口;若需外网访问,务必关闭allow_anonymous并配置ACL或TLS加密——匿名模式只适用于内网调试。

相关文章

数码产品性能查询
数码产品性能查询

该软件包括了市面上所有手机CPU,手机跑分情况,电脑CPU,电脑产品信息等等,方便需要大家查阅数码产品最新情况,了解产品特性,能够进行对比选择最具性价比的商品。

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
C++ Qt图形开发
C++ Qt图形开发

本专题专注于 C++ Qt框架在图形界面开发中的应用,系统讲解窗口设计、信号与槽机制、界面布局、事件处理、数据库连接与跨平台打包等核心技能,通过多个桌面应用项目实战,帮助学员快速掌握 Qt 框架并独立完成跨平台GUI软件的开发。

4942

2025.08.15

C++桌面程序开发
C++桌面程序开发

本专题聚焦 C++ 在桌面端图形界面应用开发中的实战应用,系统讲解 Qt 框架的信号与槽机制、界面布局管理、事件响应、数据交互、样式美化与多窗口应用设计等核心知识。通过实战案例(如记事本应用、数据管理工具、系统监控面板),帮助学习者掌握 从UI设计到完整桌面软件开发的C++工程化能力。

1354

2025.10.23

C++ 图形界面开发基础(Qt方向)
C++ 图形界面开发基础(Qt方向)

本专题系统讲解 使用 C++ 与 Qt 进行图形界面(GUI)开发的核心技能,内容涵盖 Qt 项目结构、窗口组件、信号与槽机制、事件处理、布局管理、资源管理,以及跨平台编译与打包流程。通过多个小型桌面应用实战案例,帮助学习者掌握从界面设计到功能实现的完整 GUI 开发能力。

1421

2025.12.05

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

745

2023.07.24

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

5679

2024.04.08

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

6697

2024.04.08

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2593

2024.04.08

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

279

2026.02.11

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn