Docker安装部署MQTT服务mosquitto

一、简介

        MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

        mosquitto一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布/可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。

二、Docker安装步骤

 

1、创建目录
mkdir -p /mosquitto/config
mkdir -p /mosquitto/data
mkdir -p /mosquitto/log


4、初始化配置文件
vi /mosquitto/config/mosquitto.conf


persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log


5、为目录授权
chmod -R 755 /mosquitto


6、运行
docker run -it --name=mosquitto --privileged \
-p 1883:1883 -p 9001:9001 \
-v /mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \
-v /mosquitto/data:/mosquitto/data \
-v /mosquitto/log:/mosquitto/log \
eclipse-mosquitto

7、说明
提示【Error: Unable to open log file /mosquitto/log/mosquitto.log for writing.】
则删了已有的日志文件重新建一个并授权再启动即可。


8、配置权限
---------------------------------------------------------------------------------------------------------
1)、配置文件添加以下配置
# 关闭匿名模式
allow_anonymous false
# 指定密码文件
password_file /mosquitto/config/pwfile.conf


2)、进入容器
docker exec -it 4d69c39fd4ce sh


3)、生成密码
#对于passworf_file,可以复制一份模板,或者创建一个空文件
touch /mosquitto/config/pwfile.conf
chmod -R 755 /mosquitto/config/pwfile.conf
# 使用mosquitto_passwd命令创建用户,第一个lxy是用户名,第二个lxy是密码
mosquitto_passwd -b /mosquitto/config/pwfile.conf test Test_2019


4)、重启mqtt服务
docker restart 4d69c39fd4ce
---------------------------------------------------------------------------------------------------------

9、测试

使用MQTT.fx进行连接。

恭喜你创建成功!

 

OK,TKS!

欢迎大家关注小编(IT蓝)的微信公众平台:我的好帮手(MyGoodHelper),是您出行、生活、学习和娱乐的得力助手,值得拥有。我们一起进步。OK,TKS!

Docker安装部署MQTT服务mosquitto_第1张图片

 

 

你可能感兴趣的:(Docker安装部署MQTT服务mosquitto)