We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MQTT 是一个基于客户端 - 服务器的消息发布 / 订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛:
Mosquitto 是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布 / 可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。
(1)首先执行如下命令将镜像下载到本地:
1
docker pull eclipse-mosquitto
(2)接着执行如下命令创建目录:
2
3
mkdir -p /mosquitto/config
mkdir
-p /mosquitto/config
mkdir -p /mosquitto/data
-p /mosquitto/data
mkdir -p /mosquitto/log
-p /mosquitto/log
(3)然后执行如下命令创建初始化配置文件:
vi /mosquitto/config/mosquitto.conf
(4)在配置文件中添加如下内容,然后保存退出。
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
(5)接着执行如下命令为目录授权(其中日志目录要最大权限):
chmod -R 755 /mosquitto
chmod
-R 755 /mosquitto
chmod -R 777 /mosquitto/log
-R 777 /mosquitto/log
(6)最后执行如下命令即可启动 mosquitto 容器:
4
5
6
docker run -d --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
eclipse-mosquitto:1.6.14
(1)有时为了安全我们希望连接 mosquitto 服务时需要用户名密码,首先修改配置文件(/mosquitto/config/mosquitto.conf),添加以下配置:
# 关闭匿名模式
allow_anonymous false
# 指定密码文件
password_file /mosquitto/config/pwfile.conf
(2)接着执行如下命令进入容器:
docker exec -it mosquitto sh
docker
exec
-it mosquitto sh
(3)执行如下命令建立 pwfile.conf 文件,并设置权限:
touch /mosquitto/config/pwfile.conf
chmod -R 755 /mosquitto/config/pwfile.conf
-R 755 /mosquitto/config/pwfile.conf
(4)然后使用 mosquitto_passwd 命令创建用户(比如下面我们创建了一个名为 hangge 的用户,密码为 123),添加完毕后执行 exit 退出容器。
mosquitto_passwd -b /mosquitto/config/pwfile.conf hangge 123
(5)最后执行如下命令启动容器,这样就为 mosquitto 服务增加了权限验证功能,需要使用我们前面创建的用户密码才能连接。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1,MQTT 介绍
MQTT 是一个基于客户端 - 服务器的消息发布 / 订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛:
2,Mosquitto 介绍
Mosquitto 是一款实现了消息推送协议 MQTT v3.1 的开源消息代理软件,提供轻量级的,支持可发布 / 可订阅的的消息推送模式,使设备对设备之间的短消息通信变得简单,比如现在应用广泛的低功耗传感器,手机、嵌入式计算机、微型控制器等移动设备。
3,安装步骤
(1)首先执行如下命令将镜像下载到本地:
1
docker pull eclipse-mosquitto
(2)接着执行如下命令创建目录:
1
2
3
mkdir
-p /mosquitto/config
mkdir
-p /mosquitto/data
mkdir
-p /mosquitto/log
(3)然后执行如下命令创建初始化配置文件:
1
vi /mosquitto/config/mosquitto.conf
(4)在配置文件中添加如下内容,然后保存退出。
1
2
3
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
(5)接着执行如下命令为目录授权(其中日志目录要最大权限):
1
2
chmod
-R 755 /mosquitto
chmod
-R 777 /mosquitto/log
(6)最后执行如下命令即可启动 mosquitto 容器:
1
2
3
4
5
6
docker run -d --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
1
2
3
4
5
6
docker run -d --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:1.6.14
4,连接测试
附:配置权限
(1)有时为了安全我们希望连接 mosquitto 服务时需要用户名密码,首先修改配置文件(/mosquitto/config/mosquitto.conf),添加以下配置:
1
2
3
4
# 关闭匿名模式
allow_anonymous false
# 指定密码文件
password_file /mosquitto/config/pwfile.conf
(2)接着执行如下命令进入容器:
1
docker
exec
-it mosquitto sh
(3)执行如下命令建立 pwfile.conf 文件,并设置权限:
1
2
touch /mosquitto/config/pwfile.conf
chmod
-R 755 /mosquitto/config/pwfile.conf
(4)然后使用 mosquitto_passwd 命令创建用户(比如下面我们创建了一个名为 hangge 的用户,密码为 123),添加完毕后执行 exit 退出容器。
1
mosquitto_passwd -b /mosquitto/config/pwfile.conf hangge 123
(5)最后执行如下命令启动容器,这样就为 mosquitto 服务增加了权限验证功能,需要使用我们前面创建的用户密码才能连接。
The text was updated successfully, but these errors were encountered: