如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
官方网站:
[***]
获取帮助与提交问题:
https://github.com/emqx/nanomq/issues 或 [] 或 []
支持的架构
POSIX兼容架构
Nano MQTT Broker(NanoMQ)是一款轻量级且高性能的MQTT Broker,适用于IoT边缘平台。NanoMQ以高效方式统一边缘与云端之间的动态数据和在用数据。
其高性价比、高性能、高兼容性和互操作性使其成为边缘消息代理和数据总线的理想选择。
完全兼容MQTT 5.0
全面支持MQTT 5.0/3.1.1,兼容所有标准开源MQTT SDK。
MQTT桥接
支持从边缘向多个云端桥接消息,可直接连接全球云服务。
消息持久化
通过内置数据持久化功能保护业务关键数据,连接恢复后自动恢复上传。
规则引擎
基于SQL的规则引擎释放数据灵活性,与eKuiper集成,为边缘带来流处理能力。
可集成性
通过事件驱动的WebHook降低边缘计算应用集成成本,提供EdgeOps友好的HTTP API,易于维护。
全面多协议支持
支持ZeroMQ/nanomsg/NNG/WebSocket等多种协议,实现边缘灵活多样的路由拓扑。通过TLS/SSL保障IoT连接安全。
bashdocker pull emqx/nanomq:latest
运行特定版本的NanoMQ:
bashdocker run -d -p 1883:1883 -p 8883:8883 --name nanomq emqx/nanomq:latest
NanoMQ Docker镜像分为三种类型:
默认版:基于Alpine镜像,体积最小,仅包含基础MQTT broker功能。
bashdocker pull emqx/nanomq:0.14.1
精简版(Slim):基于Ubuntu镜像,体积适中,包含TLS/SSL、SQLite和规则引擎等必要功能。
bashdocker pull emqx/nanomq:0.14.1-slim
完整版(Full):包含所有功能的全面镜像,如QUIC桥接、ZeroMQ网关和基准测试工具。
bashdocker pull emqx/nanomq:0.14.1-full
Docker版本: 从主机指定配置文件路径:
bashdocker run -d -p 1883:1883 -v {本地路径}:/etc \ --name nanomq emqx/nanomq:0.14.1
推荐使用环境变量配置NanoMQ
NanoMQ环境变量
| 变量 | 类型 | 值 |
|---|---|---|
| NANOMQ_BROKER_URL | String | 'nmq-tcp://主机:端口', 'tls+nmq-tcp://主机:端口' |
| NANOMQ_DAEMON | Boolean | 设置nanomq为守护进程(默认:false)。 |
| NANOMQ_NUM_TASKQ_THREAD | Integer | 任务队列线程数,值需大于0且小于256。 |
| NANOMQ_MAX_TASKQ_THREAD | Integer | 最大任务队列线程数,值需大于0且小于256。 |
| NANOMQ_PARALLEL | Long | 并行数。 |
| NANOMQ_PROPERTY_SIZE | Integer | MQTT用户属性的最大大小。 |
| NANOMQ_MSQ_LEN | Integer | 重发消息的队列长度。 |
| NANOMQ_QOS_DURATION | Integer | QoS定时器间隔。 |
| NANOMQ_ALLOW_ANONYMOUS | Boolean | 允许***登录(默认:true)。 |
| NANOMQ_WEBSOCKET_ENABLE | Boolean | 启用WebSocket监听器(默认:true)。 |
| NANOMQ_WEBSOCKET_URL | String | 'nmq-ws://主机:端口/路径', 'nmq-wss://主机:端口/路径' |
| NANOMQ_HTTP_SERVER_ENABLE | Boolean | 启用HTTP服务器(默认:false)。 |
| NANOMQ_HTTP_SERVER_PORT | Integer | HTTP服务器端口(默认:8081)。 |
| NANOMQ_HTTP_SERVER_USERNAME | String | HTTP服务器认证用户名。 |
| NANOMQ_HTTP_SERVER_PASSWORD | String | HTTP服务器认证密码。 |
| NANOMQ_TLS_ENABLE | Boolean | 启用TLS连接。 |
| NANOMQ_TLS_URL | String | 'tls+nmq-tcp://主机:端口'。 |
| NANOMQ_TLS_CA_CERT_PATH | String | 包含PEM编码CA证书的文件路径。 |
| NANOMQ_TLS_CERT_PATH | String | 用户证书文件路径。 |
| NANOMQ_TLS_KEY_PATH | String | 包含用户私钥PEM编码的文件路径。 |
| NANOMQ_TLS_KEY_PASSWORD | String | 用户私钥密码(仅在私钥文件受密码保护时使用)。 |
| NANOMQ_TLS_VERIFY_PEER | Boolean | 验证对等证书(默认:false)。 |
| NANOMQ_TLS_FAIL_IF_NO_PEER_CERT | Boolean | 客户端无证书时服务器失败(默认:false)。 |
| NANOMQ_CONF_PATH | String | NanoMQ主配置文件路径(默认:/etc/nanomq.conf)。 |
指定代理URL。 在主机系统:
bashexport NANOMQ_BROKER_URL="nmq-tcp://0.0.0.0:1883" export NANOMQ_TLS_ENABLE=true export NANOMQ_TLS_URL="tls+nmq-tcp://0.0.0.0:8883"
创建Docker容器:
bashdocker run -d -p 1883:1883 -p 8883:8883 \ -e NANOMQ_BROKER_URL="nmq-tcp://0.0.0.0:1883" \ -e NANOMQ_TLS_ENABLE=true \ -e NANOMQ_TLS_URL="tls+nmq-tcp://0.0.0.0:8883" \ --name nanomq emqx/nanomq:0.14.1-full
指定NanoMQ配置文件路径。 在主机系统:
bashexport NANOMQ_CONF_PATH="/usr/local/etc/nanomq.conf"
创建Docker容器:
bashdocker run -d -p 1883:1883 -e NANOMQ_CONF_PATH="/usr/local/etc/nanomq.conf" \ [-v {本地路径}:{容器路径}] \ --name nanomq emqx/nanomq:0.14.0-slim
为在您的平台上获得最佳性能,建议修改以下设置:
| 名称 | 类型 | 描述 |
|---|---|---|
| system.num_taskq_thread | Integer | 任务队列线程数。(等于CPU核心数) |
| system.max_taskq_thread | Integer | 最大任务队列线程数。(等于CPU核心数) |
| system.parallel | Long | 并行数。(等于CPU核心数 * 2) |
| mqtt.session.msq_len | Integer | 重发消息的飞行窗口/队列长度。(建议设为最大值65535,视内存情况调整) |
以下是 emqx/nanomq 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

来自真实用户的反馈,见证轩辕镜像的优质服务