簡體   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