網(wǎng)上的好多關(guān)于在docker中安裝MQTT教程都是錯(cuò)誤的不完整的。這篇博客是完整的,實(shí)踐過(guò)的,踩過(guò)了很多的坑得來(lái)的,歡迎大家享用!
1、首先在docker中拉取鏡像
docker pull eclipse-mosquitto
2、創(chuàng)建配置文件目錄
mkdir -p /docker/mosquitto/config
mkdir -p /docker/mosquitto/data
mkdir -p /docker/mosquitto/log
注意:這個(gè)地方的目錄是宿主機(jī)目錄
3、在宿主機(jī)創(chuàng)建配置文件
#存放基本配置
touch /docker/mosquitto/config/mosquitto.conf
#存放用戶密碼配置文件
touch /docker/mosquitto/config/pwfile.conf
#日志目錄
touch /docker/mosquitto/log/mosquitto.log
4、修改配置文件
vi /docker/mosquitto/config/mosquitto.conf
注意:這里的路徑是宿主機(jī)路徑
具體文件如下:
這里的所有路徑,指向的都是 docker 的路徑,不需要修改?。?!
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
listener 1883
#協(xié)議模式,可以不指定
#protocol websockets
# 關(guān)閉匿名模式
allow_anonymous false
#指定密碼文件
password_file /mosquitto/config/pwfile.conf
5、修改文件權(quán)限
chmod -R 755 /docker/mosquitto
chmod -R 777 /docker/mosquitto/log #日志目錄要最大權(quán)限
注意:這里的目錄是宿主機(jī)目錄
6、啟動(dòng)命令
docker run -it --name=mosquitto --privileged -p 1883:1883 -p 9100:9001 -v /docker/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /docker/mosquitto/data:/mosquitto/data -v /docker/mosquitto/log:/mosquitto/log -v /docker/mosquitto/config/pwfile.conf:/mosquitto/config/pwfile.conf -d eclipse-mosquitto
命令詳解:
1883是應(yīng)用的端口,9001是管理程序的端口。要將宿主機(jī)和容器之間的文件關(guān)系進(jìn)行映射,
冒號(hào)前面的是宿主機(jī)配置,冒號(hào)后面是容器配置
比如:-p 1883:1883 前面是宿主機(jī)端口 ,后面是容器端口,因此需要在宿主機(jī)的防火墻中放開1883這個(gè)端口。其他配置都是類似,需要了解。
好多網(wǎng)上的啟動(dòng)命令沒有這一句話:-v /docker/mosquitto/config/pwfile.conf:/mosquitto/config/pwfile.conf
就會(huì)報(bào)找不到文件的錯(cuò)誤:Error: Unable to open log file /mosquitto/log/mosquitto.log for writing.
一定記得把宿主機(jī)的文件目錄和容器的目錄映射起來(lái),這樣在啟動(dòng)的時(shí)候,就不會(huì)報(bào)錯(cuò)。
7、賬號(hào)密碼修改
進(jìn)入mosquitto容器
docker exec -it mosquitto sh
mosquitto_passwd -b /mosquitto/config/pwfile.conf test test2023 #設(shè)置賬號(hào)密碼
exit退出容器文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-731355.html
8、重啟容器
docker restart mosquitto
9、客戶端訪問(wèn)
下載MQTT.fx進(jìn)行配置訪問(wèn),如下圖:
以上,就是本次的詳細(xì)過(guò)程!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-731355.html
到了這里,關(guān)于在docker中安裝MQTT教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!