繁体   English   中英

如何在 windows 中的 docker 上测试 mqtt?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM