官方地址:https://docs.emqx.com/zh/emqx/v4.3/advanced/auth-mnesia.html
1、通过docker拉取emqx镜像:
docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/emqx:5.7.1
2、为了容器被删除后,数据还能够保留,我们就需要为emqx容器做持久化
容器内部数据和日志路径:
mkdir /data/emqx/data -p
mkdir /data/emqx/log -p
3、创建容器启动
docker run --restart=always -d --name emqx \
-p 1883:1883 -p 8083:8083 \
-p 8084:8084 -p 8883:8883 \
-p 18083:18083 \
-v /data/emqx:/opt/emqx/etc \
-v /data/emqx/log:/opt/emqx/log \
registry.cn-hangzhou.aliyuncs.com/qiluo-images/emqx:5.7.1
配置文拷贝到宿主机
docker cp emqx:/opt/emqx/etc /data/emqx/
5、登录:ip:18083进入web管理界面,默认密码为admin/public,登录后提示重新修改密码,输入自己密码后,成功进入!
如果需要认证登录的话,参考官网的
https://docs.emqx.com/zh/emqx/v4.3/advanced/auth-postgresql.html
参照官网的配置即可
使用 Docker Compose 搭建 emqx
Docker Compose来部署emqx,你需要一个docker-compose.yml配置文件
version: '3'
services:
emqx:
image: registry.cn-hangzhou.aliyuncs.com/qiluo-images/emqx:5.7.1
container_name: emqx
restart: always
ports:
- "1883:1883"
- "8083:8083"
- "8084:8084"
- "8883:8883"
- "18083:18083"
volumes:
- /data/emqx:/opt/emqx/etc
- /data/emqx/log:/opt/emqx/log
networks:
- emqx_network
networks:
emqx_network:
driver: bridge
在你的项目目录下创建一个名为 docker-compose.yml 的文件,并将上面的内容粘贴进去。
在终端中进入该目录,并运行以下命令来启动服务:
docker-compose up -d
这会在后台启动 EMQX 服务。
要停止并删除服务,可以使用:
docker-compose down
注意事项:
确保主机上的 /data/emqx 和 /data/emqx/log 目录存在并且权限正确。
如果你有任何定制化配置,需要确保 /data/emqx 目录内的配置文件和其他资源已经存在。