下载mosquitto镜像
docker pull eclipse-mosquitto:2
安装配置
创建需要挂载目录及配置文件
cd /var/local/
mkdir mosquitto/
cd mosquitto/
mkdir config/
mkdir data/
mkdir log/
cd config/
vi mosquitto.conf
输入下面内容
persistence true
listener 1883
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
退出保存。授权目录
chmod -R 777 /var/local/mosquitto/
创建并运行容器
docker run -it --name=mosquitto --privileged \
-p 1883:1883 -p 9001:9001 \
-v /var/local/mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \
-v /var/local/mosquitto/data:/mosquitto/data \
-v /var/local/mosquitto/log:/mosquitto/log \
-d eclipse-mosquitto:2
创建用户密码
修改配置文件
vi /var/local/mosquitto/config/mosquitto.conf
在底部添加下面内容,保存退出
# 关闭匿名模式
allow_anonymous false
# 指定密码文件
password_file /mosquitto/config/pwfile.conf
进入容器内部,使用docker ps查看刚启动的容器,找到对应的容器id
docker ps
docker exec -it 72abee6b0c42 sh
生成用户密码(在容器内部执行)
cd /mosquitto/config/
touch pwfile.conf
chmod -R 755 pwfile.conf
# 使用mosquitto_passwd命令创建用户,并设置密码
mosquitto_passwd -c pwfile.conf admin
# 然后输入两次密码即可
也可以使用下面命令设置
mosquitto_passwd -b /mosquitto/config/pwfile.conf admin mqtt
查看pwfile.conf文件,确认用户名密码是否设置成功,出现对应用户名:密码(加密后)则说明设置成功
admin:$7$101$ZWsluftdKEf5vmlB$Ls8WymF7ZxUmJ8Sv18+u7V5TOeINLwQemSA4pSGrKF8dG/mTwTKiw3FnH/l0zFxP5u4rEjKkfX8LP+4SZXe7Vw==
重启容器
#先退出容器
exit
docker restart 72abee6b0c42
测试
使用MQTT.fx进行连接测试。
参考:MQTT.fx的安装和使用