docker安装eclipse-mosquitto MQTT并记录日志

一、在目录/usr/local/mqtt创建

mkdir config data log sh

二、配置文件

vim config/mosquitto.conf

# 写入以下内容

persistence true

persistence_location /mosquitto/data

log_dest file /mosquitto/log/mosquitto.log

allow_anonymous true listener 1883

----------------------------------------------------------------------

vim sh/pwd.sh

# 写入以下内容

容器内执行

#对于passworf_file,可以复制一份模板,或者创建一个空文件

touch /mosquitto/config/pwfile.conf

chmod -R 755 /mosquitto/config/pwfile.conf

# 使用mosquitto_passwd命令创建用户,第一个admin是用户名,第二个123456是密码

mosquitto_passwd -b /mosquitto/config/pwfile.conf admin 123456

#之后重启容器 使用mqtt.fx连接

-------------------------------------------------------------------------

vim sh/topic.sh

# 写入以下内容

mosquitto_sub -v -t $1 > /mosquitto/log/$1.out &

或者下面这种可以支持带/反斜杠,(选一个就好)

mosquitto_sub -v -t $1 > /mosquitto/log/${1##*/}.log &

三、授权

chmod -R 755 /usr/local/mqtt chmod -R 777 /usr/local/mqtt/log

四、启动docker

docker run -it --name=mosquitto --privileged -p 1883:1883 -p 9001:9001 -v /usr/local/mqtt/config/mosquitto.conf:/mosquitto/config/mosquitto.conf -v /usr/local/mqtt/data:/mosquitto/data -v /usr/local/mqtt/log:/mosquitto/log -v /usr/local/mqtt/sh:/sh -d eclipse-mosquitto

五、执行脚本

进入容器

#最大权限

docker exec -it -u 0 id sh

执行 sh/pwd.sh (要重启才能连接)

执行 sh/topic.sh topic-name (重启后再执行)

退出容器

在目录

/usr/local/mqtt/log

tail -f topic-name.out

最后进入MQTT.fx 推送即可

参考Docker 安装MQTT服务 mosquitto_风浪云HH的博客-CSDN博客_docker mosquitto

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值