docker eclipse-mosquitto
安装配置
sudo docker pull eclipse-mosquitto
sudo mkdir -p /mosquitto/config
sudo mkdir -p /mosquitto/data
sudo mkdir -p /mosquitto/log
sudo vi /mosquitto/config/mosquitto.conf
#
persistence true
persistence_location /mosquitto/data
log_dest file /mosquitto/log/mosquitto.log
#
sudo chmod -R 755 /mosquitto
sudo chmod -R 777 /mosquitto/log
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
异常处理
连接不上,并且在日志中找到
1649830739: mosquitto version 2.0.14 starting
1649830739: Config loaded from /mosquitto/config/mosquitto.conf.
1649830739: Starting in local only mode. Connections will only be possible from clients running on this machine.
1649830739: Create a configuration file which defines a listener to allow remote access.
1649830739: For more details see https://mosquitto.org/documentation/authentication-methods/
1649830739: Opening ipv4 listen socket on port 1883.
1649830739: Opening ipv6 listen socket on port 1883.
1649830739: Error: Address not available
解决方案:更换mosquitto端口
sudo vi /mosquitto/config/mosquitto.conf
添加
# 8883可以自定义
allow_anonymous true
port 8883
# 重新启动mosquitto
sudo docker stop mosquitto
sudo docker rm mosquitto
# 容器内地址更换为上面的8883端口
docker run -d --name=mosquitto --privileged \
-p 1883:8883 -p 9001:9001 \
-v /mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf \
-v /mosquitto/data:/mosquitto/data \
-v /mosquitto/log:/mosquitto/log \
eclipse-mosquitto