Docker安裝Mosquitto的實現(xiàn)示例
在物聯(lián)網(wǎng)項目中,我們經(jīng)常用到MQTT協(xié)議,用MQTT協(xié)議做交互就需要部署一個MQTT服務,而mosquitto是一個常用的MQTT應用服務,
Mosquitto是一個實現(xiàn)了消息推送協(xié)議MQTT v3.1的開源消息代理軟件。MQTT(Message Queuing Telemetry Transport)是一種輕量級、高效的協(xié)議,專為低帶寬、高延遲或不可靠的網(wǎng)絡而設計,使其適用于各種物聯(lián)網(wǎng)(IoT)和消息傳遞應用。
Mosquitto的主要功能包括消息代理,它充當消息代理,促進使用MQTT協(xié)議的設備或應用程序之間的通信。同時,Mosquitto還提供了用戶密碼管理工具(mosquitto_passwd)和其他相關程序文件,如mosquitto_pub(用于發(fā)布消息的命令行客戶端)和mosquitto_sub(用于訂閱消息的命令行客戶端)。
總的來說,Mosquitto是一個功能強大、易于使用和部署的開源消息代理軟件,廣泛應用于物聯(lián)網(wǎng)和其他需要輕量級和高效消息傳遞的場景中,這節(jié)講如何用docker部署一個mosquitto。
首先需要安裝有docker,先用docker拉下來mosquitto,他的鏡像名是eclipse-mosquitto,執(zhí)行以下命令從遠程倉庫獲取到mosquitto的鏡像文件:
docker pull eclipse-mosquitto
下載好鏡像后可以通過docker images查看下拉好的鏡像,確認沒有問題后面就開始做運行前的準備了,為了以后方便操作我們需要把常用的文件夾掛在到磁盤中,現(xiàn)在磁盤中創(chuàng)建三個文件夾分別是config,data和log,一個是存放配置文件,可以用來修改mosquitto的端口,配置支持scoket或者匿名訪問等。data用來存放數(shù)據(jù),log用來存放日志。
mkdir -p /usr/local/mosquitto/config mkdir -p /usr/local/mosquitto/data mkdir -p /usr/local/mosquitto/log
在上面創(chuàng)建的config文件夾中創(chuàng)建mosquitto的配置文件mosquitto.conf內容如下:
persistence true persistence_location /usr/local/mosquitto/data log_dest file /usr/local/mosquitto/log/mosquitto.log listener 9001 port 1883 allow_anonymous true
然后為創(chuàng)建的目錄授權
chmod -R 755 /usr/local/mosquitto chmod -R 777 /usr/local/mosquitto/log
一切就緒后執(zhí)行運行命令:
docker run -it --name=mosquitto --privileged -p 1883:1883 -p 9001:9001 -v /usr/local/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /usr/local/mosquitto/data:/mosquitto/data -v /usr/local//mosquitto/log:/mosquitto/log -d eclipse-mosquitto
運行后可以通過docker ps -a查看是否運行成功,如果是用阿里云服務器,還要記得把出入站規(guī)則添加上1883和9001端口,方便外網(wǎng)訪問
然后就可以用MQTT連接工具來測試了,這里以MQTTX為例,發(fā)送消息后在監(jiān)聽的窗口可以監(jiān)聽到消息了。
到此這篇關于Docker安裝Mosquitto的實現(xiàn)示例的文章就介紹到這了,更多相關Docker安裝Mosquitto內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker部署數(shù)據(jù)可視化平臺Metabase
Metabase 把數(shù)據(jù)分析常用的查詢通過一個個易于操作的界面呈現(xiàn),本文主要介紹了docker部署數(shù)據(jù)可視化平臺Metabase,具有一定的參考價值,感興趣的可以了解一下2024-04-04詳解用Docker搭建Laravel和Vue項目的開發(fā)環(huán)境
這篇文章主要介紹了詳解用Docker搭建Laravel和Vue項目的開發(fā)環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03Docker基于macvlan實現(xiàn)跨主機容器通信
這篇文章主要介紹了Docker基于macvlan實現(xiàn)跨主機容器通信,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05docker上快速搭建gitlab、gitlab-runer及實現(xiàn)CI/CD功能
這篇文章主要介紹了docker上快速搭建gitlab、gitlab-runer及實現(xiàn)CI/CD,本文給大家講解的非常詳細,包括docker上安裝gitlab的相關操作及配置root賬號密碼,需要的朋友可以參考下2022-04-04使用Docker配置redis sentinel哨兵的方法步驟
本文主要介紹了Docker配置redis sentinel哨兵的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-07-07