docker创建emqx容器,emqx版本4.4.9

题记:网上找了很多文章,都没能怎么说明白如何对mqtt连接通信做认证,也就是tcp方式的时候,携带user、password,很苦恼,最后找了一大圈,说emqx的4.4.9版本的Dashboard有插件,果然顺藤摸瓜就解决了,在此记录一下(os:也许本人愚钝,其他认证方式搞不定)

一、拉取emqx 4.4.9镜像

docker pull emqx/emqx:4.4.9

二、创建本地与emqx的挂载文件

1、先运行容器

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

        如果考虑到容器与本地服务器时间一致,上一步可添加:-v /etc/localtime:/etc/localtime

 2、开始cp挂载

i、将对应的问价copy到我们前面建立的目录中,copy完成之后,就会发现我们的目录有数据了,这都是默认的基础配置,后面就可以用它们来挂载

docker cp emqx:/opt/emqx/etc /home/sd_omp/emqx
docker cp emqx:/opt/emqx/lib /home/sd_omp/emqx
docker cp emqx:/opt/emqx/data /home/sd_omp/emqx
docker cp emqx:/opt/emqx/log /home/sd_omp/emqx

ii、修改目录权限

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

三、停止并删除原镜像,创建完整emqx镜像

docker stop emqx && docker rm emqx
docker run -d --name emqx --restart=always \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 18083:18083 \
-v /home/sd_omp/emqx/etc:/opt/emqx/etc \
emqx/emqx:4.4.9

(这里注意下,我只用了etc挂载,其他挂的时候报了小问题,没去细究;有兴趣的都加上挂载,也许我配错了)

此时,服务器ip+18083端口访问,即可看到emqx桌面,默认登录名:admin,密码:public

 三、客户端访问,修改服务器的认证方式,使得客户端需要填写用户名密码进行通信

1、emqx默认情况下是不开启认证的,所以用户名密码默认空字符串也能连接emqx服务器,但对生产上线项目不友好,也不够安全,此时就需要更改通信配置,即需要通信认证

2、这里我用的4.4.9版本,查阅官网文档:Mnesia 认证 | EMQX 4.4 文档,可看到:Mnesia 认证,我使用的就是这个。

        i、首先通过桌面,将插件菜单栏下的emqx_auth_mnesia改为运行

         ii、增加对应用户,预设认证数据(就是修改对应的配置文件,手动添加用户和密码)

打开本地挂载的etc/plugins/emqx_auth_mnesia.conf

vim /home/sd_omp/emqx/etc/plugins/emqx_auth_mnesia.conf

然后追加自己预设的用户名、密码

 至于为啥有clientId和userName,两种,我建议是两个都配置,并且保持一致,当然你也可以只配置userName的方式也行,我已经测试过了。

         iii、重启emqx

docker restart emqx

        iv、误区:这里的认证和桌面登录的用户名是区分开的,我这里都认证也设置为admin,但密码和登录密码有区别,客户端通信时,用的是认证里的密码,这点区分开;你也可以设置其他的用户名和登录名区分开

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值