本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
官网 | 文档 | GitHub | Slack | ***
支持架构:amd64、arm64v8
EMQX 是全球扩展性最强、可靠性最高的 MQTT 平台,专为高性能、高可靠、高安全的 IoT 数据基础设施设计。它支持 MQTT 5.0、3.1.1、3.1 协议,以及 MQTT-SN、CoAP、LwM2M、MQTT over QUIC 等其他协议,可连接数百万 IoT 设备,实时处理和路由消息,并与各类后端数据系统集成。适用于 AI、物联网、工业物联网(IIoT)、车联网、智慧城市等场景。
从 v5.9.0 版本开始,EMQX 统一了所有特性,并采用 Business Source License (BSL) 1.1 许可证。这意味着所有功能——包括强大的数据集成、流设计器(Flow Designer)、高级可观测性和企业级安全特性——均通过此单一 Docker 镜像提供。
了解许可证变更详情:
重要提示:v5.9.0+ 版本集群需许可证!
根据 BSL 1.1 条款,部署 EMQX 集群(超过 1 个节点)需加载许可证密钥,即使是 BSL 允许的免费/开发场景也不例外。获取和应用许可证的详细步骤请参见许可证 FAQ 及官方文档。
EMQX 为现代连接系统提供以下关键能力:
运行单个 EMQX 节点:
docker run -d --name emqx \ -p 1883:1883 -p 8083:8083 -p 8084:8084 \ -p 8883:8883 -p 18083:18083 \ emqx/emqx:latest
容器内 EMQX 以 Linux 用户 emqx 身份运行。
etc/emqx.conf 中的所有配置均可通过环境变量设置。默认情况下,前缀为 EMQX_ 的环境变量会映射为配置文件中的键值对。
映射规则:
EMQX__ 替换为点 .示例:
EMQX_LISTENERS_TCP_DEFAULT_BIND 对应 listeners.tcp.default.bind,以下命令将 MQTT TCP 端口设为 1884:
docker run -d --name emqx \ -e EMQX_LISTENERS_TCP_DEFAULT_BIND=1884 \ -p 18083:18083 \ -p 1884:1884 \ emqx/emqx:latest
更多配置细节见 官方文档。
| 选项 | 默认值 | 映射关系 | 说明 |
|---|---|---|---|
| EMQX_NAME | 容器名称 | 无 | EMQX 节点短名称 |
| EMQX_HOST | 容器 IP | 无 | EMQX 节点主机(IP 或域名) |
仅在容器启动阶段(docker-entrypoint.sh 中)使用这些变量:若设置了 EMQX_NAME 和 EMQX_HOST 但未设置 EMQX_NODE_NAME,则 EMQX_NODE_NAME=$EMQX_NAME@$EMQX_HOST;否则直接使用 EMQX_NODE_NAME 的值。
注意:部署 EMQX 集群(超过 1 个节点)需加载许可证密钥。
EMQX 支持多种集群部署方式,详见 文档。以下为基于 docker compose 的静态节点列表集群示例:
docker-compose.yamlservices: emqx1: image: emqx/emqx:latest environment: - "EMQX_NAME=emqx" - "EMQX_HOST=node1.emqx.io" - "EMQX_CLUSTER_DISCOVERY_STRATEGY=static" - "EMQX_CLUSTER_STATIC_SEEDS=[[邮箱已删除], [邮箱已删除]]" - "EMQX_LICENSE_KEY=<your license key>" # 替换为实际许可证密钥 networks: emqx-bridge: aliases: - node1.emqx.io emqx2: image: emqx/emqx:latest environment: - "EMQX_NAME=emqx" - "EMQX_HOST=node2.emqx.io" - "EMQX_CLUSTER_DISCOVERY_STRATEGY=static" - "EMQX_CLUSTER_STATIC_SEEDS=[[邮箱已删除], [邮箱已删除]]" - "EMQX_LICENSE_KEY=<your license key>" # 替换为实际许可证密钥 networks: emqx-bridge: aliases: - node2.emqx.io networks: emqx-bridge: driver: bridge
docker compose -p my_emqx up -d
docker exec -it my_emqx_emqx1_1 sh -c "emqx ctl cluster status"
输出示例:
Cluster status: #[running_nodes => ['[邮箱已删除]','[邮箱已删除]'], stopped_nodes => []}
需持久化容器数据时,挂载以下目录:
/opt/emqx/data(数据目录)/opt/emqx/log(日志目录)注意:数据目录中部分文件路径含节点名称(/opt/emqx/data/mnesia/${node_name}),需复用相同节点名称才能恢复之前的状态。建议通过环境变量 EMQX_NAME 和 EMQX_HOST 固定节点名称(如 EMQX_HOST=127.0.0.1 或网络别名)。
docker-compose 示例:
volumes: vol-emqx-data: name: foo-emqx-data vol-emqx-log: name: foo-emqx-log services: emqx: image: emqx/emqx:latest restart: always environment: EMQX_NAME: foo_emqx EMQX_HOST: 127.0.0.1 volumes: - vol-emqx-data:/opt/emqx/data - vol-emqx-log:/opt/emqx/log
Linux 主机可参考 调优指南。若通过 Docker 调优,需确保 Docker 版本 ≥1.12,命令如下:
docker run -d --name emqx -p 18083:18083 -p 1883:1883 \ --sysctl fs.file-max=2097152 \ --sysctl fs.nr_open=2097152 \ --sysctl net.core.somaxconn=32768 \ --sysctl net.ipv4.tcp_max_syn_backlog=16384 \ --sysctl net.core.netdev_max_backlog=16384 \ --sysctl net.ipv4.ip_local_port_range="1000 65535" \ --sysctl net.core.rmem_default=262144 \ --sysctl net.core.wmem_default=262144 \ --sysctl net.core.rmem_max=16777216 \ --sysctl net.core.wmem_max=16777216 \ --sysctl net.core.optmem_max=16777216 \ --sysctl net.ipv4.tcp_rmem="1024 4096 16777216" \ --sysctl net.ipv4.tcp_wmem="1024 4096 16777216" \ --sysctl net.ipv4.tcp_max_tw_buckets=1048576 \ --sysctl net.ipv4.tcp_fin_timeout=15 \ emqx/emqx:latest
警告:不要以特权模式运行 EMQX 容器,或挂载系统 proc 目录到容器内调优内核,存在安全风险。

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429