putty登录主机
拉取镜像
1
| docker pull eclipse-mosquitto
|
新建配置文件夹
下面的文件夹路径根据你自己设备的实际情况做相应的更改
1 2 3
| mkdir -p /mnt/mmcblk2p4/docker/mqtt/config mkdir -p /mnt/mmcblk2p4/docker/mqtt/data mkdir -p /mnt/mmcblk2p4/docker/mqtt/log
|
新建配置文件
1
| nano /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf
|
复制下面的内容,然后保存。
1 2 3 4 5
| persistence true persistence_location /mosquitto/data log_dest file /mosquitto/log/mosquitto.log listener 1883 allow_anonymous true
|
文件夹赋予权限
1 2
| chmod -R 755 /mnt/mmcblk2p4/docker/mqtt chmod -R 777 /mnt/mmcblk2p4/docker/mqtt/log
|
运行容器
1
| docker run -it --name=mosquitto --privileged -p 1883:1883 -p 9001:9001 -v /mnt/mmcblk2p4/docker/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /mnt/mmcblk2p4/docker/mqtt/data:/mosquitto/data -v /mnt/mmcblk2p4/docker/mqtt/log:/mosquitto/log -d eclipse-mosquitto
|
目前可以使用IP加1883端口直接连接mqtt服务器,无需使用用户名密码登录。
如果需要设置用户名密码,则需要在mosquitto.conf文件中将allow_anonymous true字段改成fasle,然后声明密码文件保存路径。详细配置参考下面:
1 2 3 4 5 6
| persistence true persistence_location /mosquitto/data log_dest file /mosquitto/log/mosquitto.log listener 1883 allow_anonymous false password_file /mosquitto/config/pwfile.conf
|
找到容器的id并将下面命令行中的id字段进行替换
进入到容器中
运行下面的命令创建用户和密码。
1
| mosquitto_passwd /mosquitto/config/pwfile.conf mqtt
|
完成之后ctrl+p ctrl+q保存退出。
重启docker容器
之后就可以使用设置的用户名和密码连接mqtt服务器了。