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