You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署Node-RED与Mosquitto后MQTT In节点无法连接求助

解决Node-RED MQTT节点无法连接Docker中Mosquitto的问题

检查Docker网络配置

  • 确保Node-RED和Mosquitto处于同一个Docker网络。默认创建的容器可能不在同一网络,需手动创建并加入:
    1. 创建自定义网络:docker network create mqtt-net
    2. 重启Mosquitto加入该网络:docker run --name mosquitto --network mqtt-net -p 1883:1883 eclipse-mosquitto
    3. 重启Node-RED加入该网络:docker run --name node-red --network mqtt-net -p 1880:1880 nodered/node-red
  • Node-RED的MQTT配置中,不要用localhost或127.0.0.1,而是用Mosquitto的容器名(比如mosquitto)作为代理地址——容器内部的localhost指向自身,而非宿主机。

核对Mosquitto配置细节

  • 确认mosquitto.conf中开启了允许外部连接的配置:
    listener 1883
    allow_anonymous true  # 未设置账号密码时需开启匿名访问;若有账号密码,设为false并配置密码文件
    
  • 如果设置了账号密码,Node-RED的MQTT配置必须填写正确的用户名和密码,且Mosquitto已通过mosquitto_passwd生成密码文件并在配置中指定:
    password_file /etc/mosquitto/passwd
    

检查Node-RED的MQTT节点配置

  • 确保MQTT节点的端口号与Mosquitto暴露的一致(默认1883,修改过则对应调整)。
  • 若Mosquitto未配置加密,Node-RED里不要勾选启用TLS选项,否则会导致连接失败。

排查容器日志

  • 查看Mosquitto连接日志,确认是否有Node-RED的连接请求:docker logs mosquitto,若有拒绝日志可针对性调整配置。
  • 查看Node-RED日志排查报错:docker logs node-red,日志中的错误信息可直接定位问题(如认证失败、网络不可达等)。

内容的提问来源于stack exchange,提问作者Juan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 09:22:40