概述
一、拉取镜像
docker pull emqx/emqx:latest
# 也可以拉去指定版本
docker pull emqx/emqx:v4.0.0
二、启动
docker run -d --name emqx --network mynet --network-alias emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:latest
# 避免跟rabbitmq的1883冲突
docker run -d --name emqx --network mynet --network-alias emqx -p 1884:1883 -p 8081:8081 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:latest
端口说明
1883:MQTT 协议端口
8883:MQTT/SSL 端口
8083:MQTT/WebSocket 端口
8080:HTTP API 端口
18083:Dashboard 管理控制台端口
三、在服务器上创建emqx挂载目录
mkdir -p /usr/local/emqx/{etc,lib,data,log}
四、将临时EMQX容器的文件拷贝到服务器
docker cp emqx:/opt/emqx/etc /usr/local/emqx
docker cp emqx:/opt/emqx/lib /usr/local/emqx
docker cp emqx:/opt/emqx/data /usr/local/emqx
docker cp emqx:/opt/emqx/log /usr/local/emqx
五、修改挂载目录权限
chown -R 1000:1000 /usr/local/emqx/
chmod -R 755 /usr/local/emqx/
六、删除当前临时emqx容器
docker stop emqx
docker rm emqx
七、重新启动一个EMQX(挂载目录到服务器)
docker run -d
--name emqx
--network mynet
--network-alias emqx
-p 1883:1883
-p 8883:8883
-p 8083:8083
-p 8084:8084
-p 8081:8081
-p 18083:18083
-v /usr/local/emqx/etc:/opt/emqx/etc
-v /usr/local/emqx/lib:/opt/emqx/lib
-v /usr/local/emqx/data:/opt/emqx/data
-v /usr/local/emqx/log:/opt/emqx/log
emqx/emqx:latest
八、访问emqt的web管理页面
http://127.0.0.1:18083
#账号: admin
#密码: public
admin public为默认用户名密码,也可以提前修改/usr/local/emqx/etc/plugins/emqx_auth_username.conf文件,再启动容器
九、查看日志
docker logs emqx
docker logs -f emqx
十、配置
1、进入控制台
docker exec -it emqx /bin/bash
emqx_ctl plugins reload emqx_web_hook
2、创建API访问用户
方法一:非docker安装
<emqx安装目录> /emqx/bin/emqx_ctl mgmt insert iothub magueIotHub
方法二:需要先进入控制台
# 创建用户
emqx_ctl mgmt insert jrsoft-iot jrsoft-iot
AppSecret: MzA0NzIzMTU5Njg2MzA5NjE0NjI2MDY0MzcyODM1Mjg3MDE
- 如果提示用户已经存在可以在如下页面,删除该用户
3、不允许匿名登录
默认是允许匿名
修改/etc/emqx/emqx.conf
在docker中则修改/usr/local/emqx/etc/emqx.conf
allow_anonymous = false:
4、使插件生效
cd /usr/lib/emqx
emqx_ctl plugins reload emqx_auth_mongo
5、配置系统消息订阅权限
修改/etc/emqx/acl.conf
在docker中则修改/usr/local/emqx/etc/acl.conf
6、开启webhook
修改/etc/emqx/plugins/emqx_web_hook.conf
在docker中则修改/usr/local/emqx/plugins/emqx_web_hook.conf
web.hook.url = http://192.168.0.8:8080/emqx_web_hook
# 或者
web.hook.url = http://192.168.0.55:7004/emqx/hook
使插件生效
emqx_ctl plugins reload emqx_web_hook
7、开hook规则
还是修改emqx_web_hook.conf
使插件生效
emqx_ctl plugins reload emqx_web_hook
最后
以上就是辛勤小海豚为你收集整理的docker安装emqx一、拉取镜像二、启动三、在服务器上创建emqx挂载目录四、将临时EMQX容器的文件拷贝到服务器五、修改挂载目录权限六、删除当前临时emqx容器七、重新启动一个EMQX(挂载目录到服务器)八、访问emqt的web管理页面九、查看日志十、配置的全部内容,希望文章能够帮你解决docker安装emqx一、拉取镜像二、启动三、在服务器上创建emqx挂载目录四、将临时EMQX容器的文件拷贝到服务器五、修改挂载目录权限六、删除当前临时emqx容器七、重新启动一个EMQX(挂载目录到服务器)八、访问emqt的web管理页面九、查看日志十、配置所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复