小工具知识网

当前位置: 首页 > 行业知识 > docker搭建emqx

行业知识

docker搭建emqx

2026-11-11 05:36:52 来源:互联网转载

EMQ X ���一个开源的、高度可扩展的、跨平台的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/datanetworks:  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文件定义的服务和网络。

上一篇:数字信号处理|Matlab设计巴特沃斯低通滤波器(冲激响应不变法和双线性变换法)

下一篇:怎么提高粉丝关注度?