1.准备docker-compose文件

version: '3.8'
services:
  emqx:
    image: emqx:5.4.0
    container_name: emqx
    restart: always
    environment:
      - EMQX_NAME=emqx
      - EMQX_HOST=localhost
      - EMQX_ALLOW_ANONYMOUS=true  # 允许匿名连接(可根据需求禁用)
      - EMQX_LISTENER__TCP__EXTERNAL=1883  # MQTT 端口
      - EMQX_LISTENER__SSL__EXTERNAL=8883  # MQTT SSL 端口
      - EMQX_LISTENER__WS__EXTERNAL=8083  # WebSocket 端口
      - EMQX_LISTENER__WSS__EXTERNAL=8084  # WebSocket SSL 端口
    ports:
      - "18083:18083"
      - "1883:1883"  # MQTT
      - "8883:8883"  # MQTT SSL
      - "8083:8083"  # WebSocket
      - "8084:8084"  # WebSocket SSL
    volumes:
      - ./data/emqx_data:/opt/emqx/data
      - ./data/emqx_logs:/opt/emqx/logs

2.启动

docker-compose up -d

3.隧道访问1883端口进行访问