docker搭建emqx全过程

 更新时间:2024年03月08日 09:30:47   作者:LogicLancer  
EMQX 是一个开源的、高度可扩展的、跨平台的MQTT代理,用于处理来自物联网、移动应用程序和分布式系统的数据,本文给大家介绍docker搭建emqx的详细过程,感兴趣的朋友一起看看吧

EMQX 是一个开源的、高度可扩展的、跨平台的MQTT代理,用于处理来自物联网、移动应用程序和分布式系统的数据。要使用Docker搭建emqx,你需要首先从Docker Hub拉取emqx的官方镜像,然后可以通过Docker CLI命令或Docker Compose来运行这个容器。

使用 Docker CLI 搭建 emqx
拉取 EMQ X 镜像:

docker pull emqx/emqx:5.5.0

运行emqx容器:

docker run -d --name emqx \
  -p 1883:1883 -p 8083:8083 \
  -p 8084:8084 -p 8883:8883 \
  -p 18083:18083 \
  -v $PWD/data:/opt/emqx/data \
  -v $PWD/log:/opt/emqx/log \
  emqx/emqx:5.5.0
  • -d: 表示在后台运行容器。
  • –name emqx: 设置容器的名称为emqx。
  • -p 1883:1883: 将容器内部的MQTT默认端口1883映射到宿主机的同一端口,用于客户端连接。
  • -p 18083:18083: 将容器内部的EMQ X Dashboard管理界面默认端口18083映射到宿主机的同一端口,用于通过网页访问管理界面。

查看容器日志:

docker logs emqx

emqx: 运行中的容器名称。
使用 Docker Compose 搭建 emqx
如果你想要使用Docker Compose来部署emqx,你需要一个docker-compose.yml配置文件。下面是一个简单的例子:

version: '3'
services:
  emqx1:
    image: emqx:5.5.0
    container_name: emqx1
    environment:
    - "EMQX_NODE_NAME=emqx@node1.emqx.io"
    - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
    - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node1.emqx.io
    ports:
      - 1883:1883
      - 8083:8083
      - 8084:8084
      - 8883:8883
      - 18083:18083 
    # volumes:
    #   - $PWD/emqx1_data:/opt/emqx/data
  emqx2:
    image: emqx:5.5.0
    container_name: emqx2
    environment:
    - "EMQX_NODE_NAME=emqx@node2.emqx.io"
    - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
    - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io,emqx@node2.emqx.io]"
    healthcheck:
      test: ["CMD", "/opt/emqx/bin/emqx ctl", "status"]
      interval: 5s
      timeout: 25s
      retries: 5
    networks:
      emqx-bridge:
        aliases:
        - node2.emqx.io
    # volumes:
    #   - $PWD/emqx2_data:/opt/emqx/data
networks:
  emqx-bridge:
    driver: bridge
  • version: ‘3’: 指定Docker Compose配置文件的版本号。
  • services: 定义要运行的服务集。
  • emqx: 这是定义的服务名称。
  • image: 使用的EMQ X镜像名称。
  • container_name: 指定容器的名称。
  • ports: 容器的端口映射列表。
  • “1883:1883”: 将容器的1883端口映射到宿主机的1883端口。
  • “18083:18083”: 将容器的18083端口映射到宿主机的18083端口。
  • restart: 容器的重启策略,always表示如果容器退出,Docker将自动重启它。

使用以下命令来启动服务:

docker-compose up -d
  • up: 创建并启动服务。
  • -d: 在后台运行服务。

要停止并移除服务及相关网络,可以使用:

docker-compose down
  • down: 停止并移除所有由docker-compose.yml文件定义的服务和网络。 

到此这篇关于docker搭建emqx的文章就介绍到这了,更多相关docker搭建emqx内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用Docker容器在Linux上部署MySQL方式

    使用Docker容器在Linux上部署MySQL方式

    本文详细介绍了如何在Linux上使用Docker部署MySQL服务器,包括下载镜像、启动容器、连接到服务器、停止和删除容器,以及升级服务器的步骤
    2025-02-02
  • linux中docker的安装教程

    linux中docker的安装教程

    这篇文章主要介绍了linux中docker的安装教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Docker下安装部署Clickhouse及其远程访问方式

    Docker下安装部署Clickhouse及其远程访问方式

    文章介绍了如何远程拉取和安装ClickHouse Docker镜像,配置和部署ClickHouse容器,并通过DataGrip远程访问ClickHouse
    2024-11-11
  • docker-compose编排单体nacos、rabbitmq、redis基础服务详解

    docker-compose编排单体nacos、rabbitmq、redis基础服务详解

    这篇文章主要介绍了docker-compose编排单体nacos、rabbitmq、redis基础服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Docker如何部署前端项目

    Docker如何部署前端项目

    这篇文章主要介绍了Docker如何部署前端项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Docker每次启动容器,IP及hosts指定的操作

    Docker每次启动容器,IP及hosts指定的操作

    这篇文章主要介绍了Docker每次启动容器,IP及hosts指定的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • docker安装prometheus和grafana的详细过程

    docker安装prometheus和grafana的详细过程

    prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示,这篇文章主要介绍了docker安装prometheus和grafana,需要的朋友可以参考下
    2023-02-02
  • Docker部署rabbitmq遇到的两个问题

    Docker部署rabbitmq遇到的两个问题

    当使用docker部署rabbitmq时遇到两个问题,访问交换机时报错,另一种是访问channel时报错,本文给大家分享解决方案,感兴趣的朋友跟随小编一起看看吧
    2021-07-07
  • 在docker中部署并启动redis的方法

    在docker中部署并启动redis的方法

    这篇文章主要介绍了在docker中部署并启动redis的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 教你一分钟搞定docker+redis哨兵模式

    教你一分钟搞定docker+redis哨兵模式

    这篇文章主要介绍了教你一分钟搞定docker+redis哨兵模式,本文主要讲解一主二从三哨兵,特将其部署到一台机器上,并通过端口区分,需要的朋友可以参考下
    2023-03-03

最新评论