群晖DOCKER安装MQTT
1、打开DOCKER注册表搜索mqtt
2、选择官方镜像。
3、双击eclipse-mosquitto下载。选择latest(本来用的版本是1.6.9)
4、点击下载好的镜像文件创建容器
5、点击高级—网络—-勾选与docker host相同的网络,勾选下启用自动重新启动。
6、点击确定
7、双击eclipse-mosquitto容器—-进入终端机,(创建自己的MQTT用户名和密码)
8、点击通过命令方式启动 –输入命令– mosquitto_passwd -c pwfile.example hass(这个hass为你自己的用户名)
9、输入完后确定–黑色的框框里面会有提示输入密码
10、命令行安装eclipse-mosquitto(MQTT)
未挂载到本地
docker run -it --name MQTT --privileged --restart=unless-stopped -e TZ=Asia/Shanghai --network=host eclipse-mosquitto:1.6.14
挂载到本地的安装方法
Docker - 通过容器安装部署Mosquitto服务教程(MQTT服务器)
1,MQTT 介绍
在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。
其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
2,Mosquitto 介绍
3,安装步骤
1 | docker pull eclipse-mosquitto |
(2)接着执行如下命令创建目录:
1 2 3 | mkdir -p /mnt/data-64G/docker/mosquitto/configmkdir -p /mnt/data-64G/docker/mosquitto/datamkdir -p /mnt/data-64G/docker/mosquitto/log |
(3)然后执行如下命令创建初始化配置文件:
1 | vi /mnt/data-64G/docker/mosquitto/config/mosquitto.conf |
(4)在配置文件中添加如下内容,然后保存退出。
1 2 3 | persistence truepersistence_location /mosquitto/datalog_dest file /mosquitto/log/mosquitto.log |
(5)接着执行如下命令为目录授权(其中日志目录要最大权限):
1 2 | chmod -R 755 /mnt/data-64G/docker/mosquittochmod -R 777 /mnt/data-64G/docker/mosquitto/log |
(6)最后执行如下命令即可启动 mosquitto 容器:
1 2 3 4 5 6 | docker run -d --name=mosquitto --privileged \-p 1883:1883 -p 9001:9001 \-v /mnt/data-64G/docker/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \-v /mnt/data-64G/docker/mosquitto/data:/mosquitto/data \-v /mnt/data-64G/docker/mosquitto/log:/mosquitto/log \eclipse-mosquitto |
注意:如果使用最新的 2.x 版本 Mosquitto,可能会出现启动后客户端工具无法连接上服务器的情况,我们可以改用 1.x 版本即可。
1 2 3 4 5 6 | docker run -d --name=mosquitto --privileged \-p 1883:1883 -p 9001:9001 \-v /mnt/data-64G/docker/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \-v /mnt/data-64G/docker/mosquitto/data:/mosquitto/data \-v /mnt/data-64G/docker/mosquitto/log:/mosquitto/log \eclipse-mosquitto:1.6.14 |
4,连接测试
附:配置权限
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.confchmod -R 755 /mosquitto/config/pwfile.conf |
(4)然后使用 mosquitto_passwd 命令创建用户(比如下面我们创建了一个名为 hangge 的用户,密码为 123),添加完毕后执行 exit 退出容器。
1 | mosquitto_passwd -b /mosquitto/config/pwfile.conf hangge 123 |
(5)最后执行如下命令启动容器,这样就为 mosquitto 服务增加了权限验证功能,需要使用我们前面创建的用户密码才能连接。
1 | docker restart mosquitto |
原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_2896.html

