eclipse-mosquitto

一个开源的MQTT消息代理

启动

#!/bin/bash

name=mosquitto

mkdir -p $(pwd)/config

cat << EOF > $(pwd)/config/mosquitto.conf
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
listener 9001
port 1883
allow_anonymous true
password_file /mosquitto/data/mosquitto.password_file
EOF

docker stop ${name}
docker rm ${name}

docker run -d \
--name ${name} \
--restart=always \
--network=host \
-v $(pwd)/config:/mosquitto/config \
-v $(pwd)/data:/mosquitto/data \
-v $(pwd)/log:/mosquitto/log \
eclipse-mosquitto:2.0.20-openssl


# 生成用户
# docker run -it --rm --name mosquitto-password -v $(pwd)/data:/mosquitto/data eclipse-mosquitto:2.0.20-openssl mosquitto_passwd -c /mosquitto/data/mosquitto.password_file test
# 添加用户
# docker run -it --rm --name mosquitto-password -v $(pwd)/data:/mosquitto/data eclipse-mosquitto:2.0.20-openssl mosquitto_passwd -b /mosquitto/data/mosquitto.password_file test test
# 测试
# docker run -it --rm --name mosquitto-test --network=host --entrypoint=/bin/sh eclipse-mosquitto:2.0.20-openssl
# mosquitto_sub -h 192.168.1.1 -t "test/topic" -u test -P 'test'
# mosquitto_pub -h 192.168.1.1 -t "test/topic" -u test -P 'test' -m test3