2017年12月18日 星期一

在Synology Docker安裝MQTT Broker : docker-mosquitto

有關MQTT的介紹請看這篇
樹莓派安裝 Mosquitto 輕量級 MQTT Broker 教學,連接各種物聯網設備


我是要Homekit透過MQTT,來控制ESP8266製作的燈座開關
這個部分之後在專門發一篇教學
 本篇是要在Docker上安裝Mosquitto

1.先在Docker上建立MQTT的資料夾


2.在MQTT資料夾內增加三個資料夾,分別為
data、config、log



3.到Github下載docker的檔案
https://github.com/toke/docker-mosquitto


4.把壓縮檔內config的資料夾複製到docker的mqtt內


5.編輯mosquitto.conf這個檔案,MQTT只在區網內跑,所以我也沒設驗證方是or帳號密碼
log似乎有點問題,所以前面加#註解掉,預設port為1883



6.現在可以下指令安裝mqtt到docker了
mqtt2為mqtt的docker名稱 ,要改成別的,相對應的資料夾也要改
volume2請改成你安裝docker的位置
docker run --name mqtt2 --restart=always --net=host -tid -v /volume2/docker/mqtt2/config:/mqtt/config:ro -v /volume2/docker/mqtt2/log:/mqtt/log -v /volume2/docker/mqtt2/data/:/mqtt/data/ toke/mosquitto


若沒先建立資料夾就會出現上圖紅色底線那串error


7.你現在能在Docker內運行MQTT Broker了


想要測試mqtt broker有沒有正常work
1.在pc上安裝mosquitto,請自行Google或是參考文章開頭介紹MQTT的Blog

2.開兩個cmd cd到安裝的mqtt broker資料夾
像是C:\Program Files (x86)\mosquitto\
然後第一個cmd輸入以下指令
mosquitto_sub -v -t ds916/test -h broker的ip

第二個cmd輸入
mosquitto_pub -t ds916/test -h broker的ip -m "1"

此時若第一個cmd有顯示ds916/test 1就代表docker的mqtt broker建置成功





參考文獻

Setting up a local Mosquitto server using Docker for MQTT Communication


沒有留言:

張貼留言