Docker-Compose 部署 EmqX
使用docker-compose在CentOS-7部署emqx,官方镜像地址:Docker Hub
部署环境
OS: Linux CentOS-7 3.10.0-862.el7.x86_64
Docker:Docker version 20.10.6, build 370c289
Docker-Compose:docker-compose version 1.25.0, build 0a186604
EmqX:v4.0.0
准备配置文件
使用已经打包好的 【附件】emqx.zip 文件,里面有docker-compose.yml
创建工作目录
创建docker-compose目录 /workspace/docker-compose,统一管理
mkdir -p /workspace/docker-composecd /workspace/docker-compose
下载配置文件
wget http://10.10.35.117/media/attachment/2021/06/emqx.zipunzip emqx.zip
拉取镜像并启动
cd emqxdocker-compose up -d # 稍等会,启动需要十几秒
查看运行状态
docker-compose ps -a
创建用户,修改管理密码
emqx创建之后,默认是无发布和订阅消息用户,需要手动创建
添加发布/订阅用户格式 docker exec -t emqx sh -c 'emqx_ctl users add '
建议密码尽量复杂,包含大小写字母、数字、下划线等,但不要包含特殊字符,如$#!%等
修改管理员用户格式 docker exec -t emqx sh -c 'emqx_ctl admins passwd admin '
docker exec -t emqx sh -c 'emqx_ctl users add wpg Wg3_Em9x' # 创建用户wpg,密码Wgp4EmQxdocker exec -t emqx sh -c 'emqx_ctl users list' # 查看当前创建的用户docker exec -t emqx sh -c 'emqx_ctl admins passwd admin Adm4GPWEqmX' # 修改管理员密码
连接EMQX操作
注意:EMQX启动后,默认会开启如下端口:
18083: emqx 管理控制台端口,访问:http://your-ip:18083/ ,默认账户admin,密码为上面修改的管理员密码
1883: emqx 通信 MQTT 端口,用于消息队列发布和订阅使用
8883: emqx 通信 MQTTS 端口,用于消息队列发布和订阅使用,加密方式访问
8083: emqx 通信 HTTP 和 WS 端口
8084: emqx 通信HTTPS 和 WSS 端口
8081: emqx 管理API端口,可能会有变化
将EmqX容器目录挂载到外部,持久化存储
docker cp -a emqx:/opt/emqx/etc ./conf # 从容器复制配置docker cp -a emqx:/opt/emqx/lib ./libs # 从容器复制库docker cp -a emqx:/opt/emqx/data ./data # 从容器复制数据目录docker cp -a emqx:/opt/emqx/log ./logs # 从容器复制日志chown -R 1000:1000 ./conf ./data ./libs ./logs # 修改外部权限sed -i 's/# //g' ./docker-compose.yml # 修改docker-compose配置文件,开启外部挂载docker-compose down # 删除旧容器docker-compose up -d # 使用最新配置重新创建容器,稍等会,启动需要十几秒docker exec -t emqx sh -c 'emqx_ctl users list' # 验证之前创建的用户在不在
EMQX 管理员控制面板
浏览器访问: http://your-ip:18083/#/login ,账户名admin,密码为上面修改的管理员密码
EmqX 安装完毕