[英]How to test mqtt on docker in windows?
我在 docker 上提取了 eclipse-mosquitto 图像。 如何通过 docker 订阅和发布一些消息来测试 mqtt 客户端?
以下是我的系统的详细信息:
操作系统:Windows 10
Docker 版本 19.03.1
有人可以指导我如何在 windows 10 中测试 docker 上的 mqtt 的步骤吗?
谢谢
您可以使用 MQTT 客户端 docker 容器进行测试。
启动eclipse-mosquitto
容器
docker run --name mq -it -p 1883:1883 -p 9001:9001 eclipse-mosquitto
然后打开另一个终端 window 并使用 docker MQTT 客户端运行订阅者命令
docker run --rm -it --link mq ruimarinho/mosquitto mosquitto_sub -h mq -t '#'
现在打开另一个终端 window 并发布一条消息,您将能够在 window 2 中看到消息。
docker run --rm -it --link mq ruimarinho/mosquitto mosquitto_pub -h mq -t home-assistant/switch/1/on -m "Docker pub-subtest message"
您需要安装一个可以发布和订阅的 MQTT 客户端。 我倾向于使用 Node.JS MQTT 模块,它包含一个可以同时执行这两种操作的客户端。
您需要先安装 Node.JS。 然后做一个:
> npm install mqtt
这将在您当前目录的 ./node_modules 目录下安装 MQTT Node.JS 模块。
在此之后,您需要运行订阅者和发布者。 您像这样运行的订阅者:
> node ./node_modules/mqtt/mqtt.js sub -t "my/local/#" -h "mqtt-broker-host.home.local" -vv
其中mqtt-broker-host.home.local
是 MQTT Broker 容器的 FQDN 或 IP 地址。
在另一个终端 session 中,可以运行 MQTT 发布者:
> node ./node_modules/mqtt/mqtt.js pub -t "my/local/test-topic" -h "mqtt-broker-host.home.local' -m '{"msg": "This is a test" }'
如果一切正常,您现在应该在您的“子”终端中看到“这是一个测试”消息。 如果没有,请在“pub”终端 session 中查看任何错误消息。 如果没有,那么您应该查看您的 MQTT 代理日志文件,看看它认为会发生什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.