Docker部署EMQX

1、简介

EMQ X (Erlang/Enterprise/Elastic MQTT Broker) 是基于 Erlang/OTP 平台开发的开源物联网 MQTT 消息服务器。

Erlang/OTP是出色的软实时 (Soft-Realtime)、低延时 (Low-Latency)、分布式 (Distributed)的语言平台。

MQTT 是轻量的 (Lightweight)、发布订阅模式 (PubSub) 的物联网消息协议。

EMQ X 设计目标是实现高可靠,并支持承载海量物联网终端的MQTT连接,支持在海量物联网设备间低延时消息路由:

  • 稳定承载大规模的 MQTT 客户端连接,单服务器节点支持50万到100万连接。
  • 分布式节点集群,快速低延时的消息路由,单集群支持1000万规模的路由。
  • 消息服务器内扩展,支持定制多种认证方式、高效存储消息到后端数据库。
  • 完整物联网协议支持,MQTT、MQTT-SN、CoAP、LwM2M、WebSocket 或私有协议支持。

2、启动emqx

官网连接:https://www.emqx.io/docs/zh/v5.1/deploy/install-docker.html#通过-docker-运行单个-emqx-节点
docker持久化:https://askemq.com/t/topic/2353
docker链接:https://hub.docker.com/r/emqx/emqx

复制代码
# docker run -d --name emqx emqx/emqx:4.0.0

3、复制emqx数据

复制代码
# mkdir -p mqtt/emqx && cd mqtt
# docker cp emqx:/opt/emqx/data emqx
# docker cp emqx:/opt/emqx/etc emqx
# docker cp emqx:/opt/emqx/lib emqx
# docker cp emqx:/opt/emqx/log emqx

4、授权emqx目录

复制代码
# chown -R 1000:1000 emqx/
# chmod -R 755  emqx/

5、配置docker-compose.yml

复制代码
# cat docker-compose.yml
version: '3'
services:
  mqtt:
    image: emqx/emqx:v4.0.0
    privileged: true
    restart: always
    container_name: mqtt
    hostname: mqtt
    environment:
      - TZ=Asia/Shanghai
      - EMQX_NODE_NAME=wielun@172.200.200.2
      - EMQX_HOST=172.200.200.2
      - EMQX_NAME=wielun
    ports:
      - 1883:1883 # MQTT/TCP 协议端口
      - 8081:8081 # HTTP
      - 8083:8083 # MQTT/WS 协议端口
      - 8883:8883 # MQTT/SSL 协议端口
      - 8084:8084 # MQTT/WSS 协议端口
      - 18083:18083 # MQTT/TCP 协议内部端口,仅用于本机客户端连接
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /usr/share/zoneinfo/:/usr/share/zoneinfo/:ro
      - ./emqx/data:/opt/emqx/data
      - ./emqx/etc:/opt/emqx/etc
      - ./emqx/lib:/opt/emqx/lib
      - ./emqx/log:/opt/emqx/log
    networks:
      default:
        ipv4_address: 172.200.200.2

networks:
  default:
    ipam:
      config:
      - subnet: 172.200.200.0/24

6、启动查看结果

复制代码
# docker-compose up -d
# ls emqx/data/mnesia/wielun@172.200.200.2/    # 数据存储,有对应的文件生成就正确

7、浏览器访问

http://IP:18083
默认账号密码:admin/public

相关推荐
白清羽18 分钟前
7.3系统安装docker
运维·docker·容器
翼龙云_cloud1 小时前
阿里云国际渠道代理商:如何在ECS上部署Flask应用?
运维·数据库·阿里云·flask·云计算
GGG7662 小时前
Python 运维自动化:psutil+IPy 系统与网络信息采集深度实战
运维·python·云原生·pip
可乐鸡翅yeah_2 小时前
个人 / 外包流媒体项目交付实战,M3U8 验收与问题闭环完整工作流
运维·网络·python·低代码·django·m3u8·在线播放
St_rive2 小时前
移动端自动化环境搭建与准备
运维·自动化
INNOVIX稳石机器人3 小时前
稳石500强实战验证:从人工仓储迈向AI自主智造,给出仓储自动化升级标准答案
运维·人工智能·自动化
飞飞传输3 小时前
国产化 MOVEit 替代:文件传输架构与安全能力深度解读
大数据·运维·安全
聪明蛋子哟3 小时前
浏览器自动化的“持久身份”:多会话认证与Agent技能的无缝集成实践
运维·自动化
千百元3 小时前
ngrok 内网穿透TCP
运维
会周易的程序员4 小时前
企业私有 AI 算力服务器架构设计:异构四节点 + QUIC 微服务
运维·服务器·c++·人工智能·微服务·架构