簡裝mosquitto 集羣 docker方式

第一步:準備三臺機器

第二步:在網上拉取鏡像 docker pull eclipse-mosquitto

第三步:在主機器上的/opt/mosquittoconf/ 下建立 mosquitto.conf

放入

connection mytest1
address 從機器1ip地址:1883
topic room1/# both 2 sensor/ myhouse/

connection mytest2
address 從機器2ip地址:1883
topic room1/# both 2 sensor/ myhouse/


bridge_protocol_version mqttv311
notifications true
cleansession true
try_private true
start_type automatic

 

解釋:

connection 連接名稱,可以隨便取

address 連接的另外服務器地址和端口號,如果有多臺服務器,可以寫多個address

topic 主題名稱,“#”爲通配符,表示發佈端可以在room1/後面接任何文字

both 服務質量,2代表只有一次(可以查看第一篇博文對MQTT的詳細介紹)

sensor/  本地前綴標識,可以隨便命名

myhouse/ 遠程前綴標識,可以隨便命名

bridge_protocol_version mqttv311 橋連接協議版本MQTT3.11

notifications  是否發佈橋接的狀態信息

cleansession  橋接斷開時,是否清除遠程服務器中的消息

start_type 橋接模式,目前有三種:automatic、lazy、once

設置好之後保存退出。

第四步:繼續創建 config.mk

內容參考 https://github.com/eclipse/mosquitto/blob/master/config.mk

找到WITH_BRIDGE:=yes 將簽名的“#”號去掉開啓橋連接模式。(默認是開啓的,爲了無誤查看一下)

第五步:然後在兩個從機器上啓動 

docker run -d --name mytest12 -p 1883:1883 -p 9001:9001 eclipse-mosquitto

第六步:然後再啓動主機器上的

docker run -d --name mqtttest -p 1883:1883 -p 9001:9001 -v /opt/mosquittoconf/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /opt/mosquittoconf/config.mk:/mosquitto/config/config.mk  eclipse-mosquitto

 

第七步:進入容器查看

docker exec -it 容器名 /bin/sh

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章