docker安装emqx(mqtt)
docker run -d \
--restart=always \
--name emqx \
-p 1883:1883 \
-p 8883:8883 \
-p 8083:8083 \
-p 8084:8084 \
-p 8085:8085 \
-p 18083:18083 \
emqx/emqx:latest
具体安装请看该文章
docker安装部署MQTT_docker mqtt-CSDN博客
开放端口,网页访问
我是用的是服务器,服务器需要在安全组设置开放端口18083,不是服务器,则直接开放端口即可
在页面访问,访问地址 ip:18083
修改登入密码
账号默认:admin 密码: public
登入后 修改 密码
点击Change Password 进行修改密码
修改匿名访问
默认根据ip可以不需要账号密码进行连接mqtt
没有指定数据卷,需要进入容器内进行修改
进入容器
docker exec -it emqx bash
查看容器中的文件
ls
蓝色是文件夹
进入etc文件夹
cd etc
查看etc中的文件
编辑emqx.conf
vi emqx.conf
输入/allow_anonymous 进行查找
输入a 进入编辑模式
将true 改成false
按esc键 输入:wq 保存文件并退出。
退出bash
exit
重启emqx
docker restart emqx
修改后就无法连接mqtt了,通过设置连接账号和密码进行连接
添加连接mqtt的账号和密码
注意: 登入emqx的账户和密码与这个不一样,这个是用于连接mqtt
打开emqx页面
开启mnesia账户认证
再通过bash进入容器,进入etc文件夹,进入plugins文件夹,编辑emqx_auth_mnesia.conf 文件
docker exec -it emqx bash
cd etc
cd plugins
vi emqx_auth_mnesia.conf
输入a 进入编辑模式
添加完毕,按esc ,输入:wq 保存文件并退出
退出bash,重启emqx
后台设置连接mqtt的账户和密码,就可以连接了。