Docker部署EMQX

news2024/9/30 7:16:32

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#%E9%80%9A%E8%BF%87-docker-%E8%BF%90%E8%A1%8C%E5%8D%95%E4%B8%AA-emqx-%E8%8A%82%E7%82%B9
docker持久化:https://askemq.com/t/topic/2353
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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984116.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

远程访问服务器JupyterLab的配置方法

远程访问服务器JupyterLab的配置方法 环境及工具注意 基本步骤生成密码生成并修改配置文件后台运行jupyter后台关闭 其实就是在服务器运行JupyterLab,然后在本地浏览器访问 环境及工具 服务器:Ubuntu 16.04 本机: windows 11 个人使用终端神…

Spring中Endpoint、HasFeatures、NamedFeature和Actuator的关系及实现原理

文章目录 1. 关系缘由2. Actuator简介及简单使用3. Endpoint和Actuator的关系4. Endpoint和HasFeatures的关系5. Endpoint和HasFeatures原理解析5.1 Endpoint的实现原理5.2 HasFeatures的实现原理 6. 个人闲谈 1. 关系缘由 我们经常可以在Springboot中看到Endpoint注解&#x…

Vue2进阶篇学习笔记

文章目录 Vue2进阶学习笔记前言1、Vue脚手架学习1.1 Vue脚手架概述1.2 Vue脚手架安装1.3 常用属性1.4 插件 2、组件基本概述3、非单文件组件3.1 非单文件组件的基本使用3.2 组件的嵌套 4、单文件组件4.1 快速体验4.2 Todo案例 5、浏览器本地存储6、组件的自定义事件6.1 使用自定…

伦敦银线性回归分析

在金融市场中,商品的价格一段时间内总是会围绕着一条线性回归趋势线,在两侧波动并沿着这条趋势线方向发展。当价格在波动过程中偏离趋势线距离太大了,就会再次向趋势线靠拢。 波浪理论认为商品的价格走势都是波浪式发展的,无论处于…

入门力扣自学笔记280 C++ (题目编号:1123)(二分查找)(多看看)

2594. 修车的最少时间 题目: 给你一个整数数组 ranks ,表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。 同时给你一个整数 cars ,表示总共需要修理的汽车数目。 请你返…

Python IDLE使用方法详解(包含常用快捷键)

在安装 Python后,会自动安装一个 IDLE,它是一个 Python Shell (可以在打开的 IDLE 窗口的标题栏上看到),程序开发人员可以利用 Python Shell 与 Python 交互。 本节将以 Windows7 系统中的 IDLE 为例,详细介绍如何使用…

React Hook之useContext

1. 什么是useContext React官方解释:useContext 是一个 React Hook,可以让你读取和订阅组件中的 context(React官方文档地址)。 通俗的讲,useContext的作用就是:实现组件间的状态共享,主要应用场…

ESP32-C3的存储器类型

本文主要参考ESP-IDF编程指南,一点小记录。 ESP32-C3的存储器有: ESP-IDF 区分了指令总线(IRAM、IROM、RTC FAST memory)和数据总线 (DRAM、DROM)。 内部SRAM的一部分是指令RAM(IRAM)。那为什么要把指令放在RAM中,就是…

工厂车间安灯呼叫系统实现生产过程的可视化管理

工厂生产管理中生产效率低下导致现场管理困难。生产线问题无法及时处理和解决,导致在制品堆积严重。此外,对加工进度的掌握和生产现场状态的监控也存在困难,可控性差。设备故障无法及时处理,造成等待浪费,进一步降低了…

程序员告别996,这款开发工具火了

一、前言 如果一个概念能在科技圈火起来,它往往兼具字面简明和内涵丰富的特征,并具有某种重塑产业格局的潜力。 低代码(Low Code)就是这样一个典型。顾名思义,低代码是指少用代码,甚至不用代码,…

API安全学习 - crAPI漏洞靶场与API测试思路

crAPI漏洞靶场与解题思路 1. 前置基础1.1 认识crAPI1.2 环境搭建1.3 API的分类与鉴别 2. 漏洞验证2.1 失效的对象级别授权挑战1:访问其它用户车辆的详细信息挑战2:访问其它用户的机械报告 2.2 失效的用户身份验证挑战3:重置其它用户的密码 2.…

Vue3实战06-CompositionAPI+<script setup>好在哪?

Vue 3 的Composition API <script setup>这种最新的代码组织方式。

java八股文面试[数据库]——分库分表

什么是分库分表 简单来说&#xff0c;就是指通过某种特定的条件&#xff0c;将我们存放在同一个数据库中的数据分散存放到多个数据库&#xff08;主机&#xff09;上面&#xff0c;以达到分散单台设备负载的效果。 分库分表解决的问题 分库分表的目的是为了解决由于数据量过大…

Delft3D模型教程

详情点击公众号链接&#xff1a;基于Delft3D模型水体流动、污染物对流扩散、质点运移、溢油漂移及地表水环境报告编制教程 Delft3D计算网格构建 Delft3D水动力数值模拟 Delft3D污染物对流扩散数值模拟 一&#xff0c;Delft3D软件及建模原理和步骤 1.1地表水数值模拟常用软件、…

Cmake入门(一文读懂)

目录 1、Cmake简介2、安装CMake3、单目录简单实例3.1、CMakeLists.txt3.2、构建bulid内部构建外部构建 3.3、运行C语言程序 4、多目录文件简单实例4.1、根目录CMakeLists.txt4.2、源文件目录4.3、utils.h4.4、创建build 5、链接外部库文件6、注意 1、Cmake简介 CMake是一个强大…

Centos7离线安装ALISQL5.6.32-8

由于公司设备对数据需要大量的读取和查询&#xff0c;开始使用的mysql8&#xff0c;但是未优化的mysql插入和查询及其缓慢&#xff0c;因此我与同事分开研究&#xff0c;优化方案。我负责寻找可替代高效的数据库&#xff0c;然后问同学&#xff0c;发现alisql性能不错&#xff…

微信小程序开发---事件的绑定

目录 一、事件的概念 二、小程序中常用的事件 三、事件对象的属性列表 四、bindtap的语法格式 &#xff08;1&#xff09;绑定tap触摸事件 &#xff08;2&#xff09;编写处理函数 五、在事件处理函数中为data中的数据赋值 六、事件传参 七、bindinput的语法格式 八、…

微服务框架:一招实现降本、提质、增效办公!

应用什么样的软件平台&#xff0c;可以帮助企业朋友提高办公协作效率&#xff1f;传统的办公方式已经无法满足日益增长的业务需求了&#xff0c;借助低代码技术平台和微服务框架&#xff0c;可以让繁琐的办公轻松化&#xff0c;更高效、快捷、便利地满足客户的办公需求。 在众多…

分布式光伏消纳的微电网群共享储能配置策略研究——Matlab代码复现

目录 摘要&#xff1a; 研究背景&#xff1a; 共享储能参与微能源网新能源消纳模式&#xff1a; 共享储能电站容量功率配置原则&#xff1a; Matlab算例运行结果&#xff1a; ​编辑 Matalb代码数据分享&#xff1a; 摘要&#xff1a; 共享储能是可再生能源实现经济消纳…

Undefined symbols for architecture arm64

解决问题之前&#xff0c;先了解清晰涉及到的知识点&#xff1a; iOS支持的指令集包含&#xff1a;armv6、armv7、armv7s、arm64&#xff0c;在项目TARGETS---->Build Settings--->Architecturs 可以修改对应的指令集&#xff0c;目前Standard Architectures(arm64, arm…