Docker 部署 MQTT

132人浏览 / 0人评论

部署

docker pull emqx/emqx:5.8

docker run -d --name mqtt --privileged=true -p 1883:1883 -p 8883:8883 -p 8083:8083 -p 8084:8084 -p 8081:8081 -p 18083:18083  emqx/emqx:5.8

mkdir -p /usr/local/src/mqtt/etc /usr/local/src/mqtt/lib /usr/local/src/mqtt/data /usr/local/src/mqtt/log

# 复制文件

## linux
docker cp mqtt:/opt/emqx/etc /usr/local/src/mqtt
docker cp mqtt:/opt/emqx/data /usr/local/src/mqtt
docker cp mqtt:/opt/emqx/log /usr/local/src/mqtt
docker cp mqtt:/opt/emqx/lib /usr/local/src/mqtt

## windows
docker cp mqtt:/opt/emqx/etc D:\Docker\emqx
docker cp mqtt:/opt/emqx/data D:\Docker\emqx
docker cp mqtt:/opt/emqx/log D:\Docker\emqx
docker cp mqtt:/opt/emqx/lib D:\Docker\emqx

docker rm -f mqtt

docker run -d --restart=always --name mqtt -p 1883:1883 -p 8883:8883 -p 8083:8083 -p 8084:8084 -p 8081:8081 -p 18083:18083 -v D:\Docker\emqx\etc:/opt/emqx/etc -v D:\Docker\emqx\data:/opt/emqx/data -v D:\Docker\emqx\log:/opt/emqx/log -v D:\Docker\emqx\lib:/opt/emqx/lib emqx/emqx:5.8

默认账号:admin
默认密码:public

配置客户端认证

配置客户端授权

监听器

问题

某次重启之后,网页可以正常访问,但是 mqtt 客户端连接失败,emqx 报错日志:Context: child_terminated. Reason: {port_died,normal}

参考:https://blog.csdn.net/qq_41791705/article/details/139180441

原因:WinNAT服务故障

解决:

net stop winnat  // 停止WinNAT服务
net start winnat // 重新启动WinNAT服务

全部评论