Docker部署emqx,并挂载配置文件,存储,日志目录

1 部署emqx

1.1 使用docker拉取最新emqx镜像

1
docker pull emqx

1.2 创建持久化挂载目录

1
2
3
4
5
mkdir -p /home/emqx/{etc,data,log}

# /home/emqx/etc 挂载emqx的配置文件目录
# /home/emqx/data 挂载emqx的存储目录
# /home/emqx/log 挂载emqx的日志目录

1.3 启动临时镜像

1
docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx

1.4 复制emqx配置文件

1
docker cp emqx:/opt/emqx/etc /home/emqx/

1.5 赋予权限

1
chmod -R 777 /home/emqx/{data,etc,log}

1.6 停止容器并卸载容器

1
2
3
4
5
# 停止
docker stop emqx

# 卸载
docker rm emqx

1.7 正式启动容器

1
docker run -d --name emqx \--privileged=true \-p 1883:1883 -p 8083:8083 \-p 8084:8084 -p 8883:8883 \-p 18083:18083 \-v /home/emqx/etc:/opt/emqx/etc \-v /home/emqx/data:/opt/emqx/data \-v /home/emqx/log:/opt/emqx/log \emqx

1.8 修改默认密码

1
2
3
4
5
# 默认用户名/密码
admin/public

# 设置密码
docker exec -it emqx bash -c "./bin/emqx_ctl admins passwd admin 123456"

1.9 开放端口

1
2
3
4
5
6
7
firewall-cmd  --add-port=1883/tcp --add-port=8083/tcp --add-port=8084/tcp --add-port=8883/tcp --add-port=18083/tcp --permanent

# 1883:MQTT TCP协议端口
# 8883:MQTT TCP TLS/SSL端口
# 8083:HTTP and WebSocket端口
# 8080:HTTP API端口
# 18083:web后台管理端口

1.10 验证是否部署成功

浏览器

http://IP:18083

img


2 如何使用emqx