Linux中docker安装emqx并修改配置

1,476 阅读2分钟

背景

第一次接触emqx的时候,使用的压缩包的安装方式,也没有禁用匿名方式,抗压能力比较脆弱,在升级的时候,尝试使用docker的方式部署,并禁用匿名,为以后进一步集群方式做准备。

具体安装配置步骤

1、拉取emqx镜像

执行命令:docker pull emqx/emqx

2、启动emqx容器

执行命令:

docker run -dit --name emqx
-p 18083:18083 -p 1883:1883
-p 8083:8083 -p 8084:8084
--restart=always emqx/emqx:latest

注意:--restart=always是保证服务器断电后重启时,该容器会自动重启

3、创建外挂的文件目录

执行命令:mkdir -p /home/docker/emqx/{etc,lib,data,log}

4、将相关文件挂载到目录下

执行命令:

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

docker cp emqx:/opt/emqx/lib /home/docker/emqx

docker cp emqx:/opt/emqx/data /home/docker/emqx

docker cp emqx:/opt/emqx/log /home/docker/emqx

5、修改挂载文件的权限

执行命令:

chown -R 1000:1000 /home/docker/emqx/

chmod -R 755 /home/docker/emqx/

6、停止emqx并删除该容器

执行命令:

docker stop emqx

docker rm emqx

7、emqx.conf匿名关闭

allow_anonymous = false

8、配置用户名和密码

修改etc/plugins/emqx_auth_mnesia.conf

##username 认证数据

auth.user.2.username = admin

auth.user.2.password = admin

9、开启插件Mnesia

登陆emqx的管理界面,在plugin中找到Mnesia插件,开启该插件

10、停止当前emqx容器并删除该容器

docker stop emqx

docker start emqx

11、重新运行emqx容器

docker run -dit --name emqx
-p 18083:18083 -p 1883:1883
-p 8083:8083 -p 8084:8084
-p 8081:8081 -p 8883:8883
-v /home/docker/emqx/etc:/opt/emqx/etc
-v /home/docker/emqx/lib:/opt/emqx/lib
-v /home/docker/emqx/data:/opt/emqx/data
-v /home/docker/emqx/log:/opt/emqx/log
--restart=always emqx/emqx:latest

12、修改管理界面的用户名和密码

docker exec -it emqx /bin/bash

./bin/emqx_ctl admins

emqx_ctl admins passwd admin admin@123

exit

注意:修改管理界面的用户名和密码后,需要重启一下容器,才会生效

至此,docker版的emqx安装、配置完成,当然,配置文件中还有可以调优的空间,暂时没有多大需求,等用到的时候再来更新这个文档