本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

自 v5.9.0 版本起,EMQX 已将原开源版与企业版的所有功能整合,统一采用 Business Source License (BSL) 1.1 许可证。
因此,EMQX 已停止发布 emqx 官方 Docker 镜像。v5.9.0 及以上版本仅通过以下 Docker Hub 仓库提供:
emqx/emqxemqx/emqx-enterprise| 标签 | 对应 Dockerfile 链接 |
|---|---|
5.7.2, 5.7 | 链接 |
5.8.8, 5.8, 5, latest | 链接 |
amd64(链接)、arm64v8(链接)emqx 目录(历史记录)library/emqx 标签 或 文件历史emqx 目录(历史记录)EMQX 是一款高性能、高可扩展的开源 MQTT broker,单集群可连接超 1 亿 IoT 设备,支持每秒 100 万条消息吞吐量及亚毫秒级延迟。
通过 Docker 命令启动 EMQX 容器:
docker run -d --name emqx emqx:${tag}
示例(映射控制台端口 18083 和 MQTT 端口 1883):
docker run -d --name emqx -p 18083:18083 -p 1883:1883 emqx:latest
容器内 EMQX 以 emqx 用户身份运行。
EMQX 配置文件 etc/emqx.conf 中的所有参数可通过环境变量设置,转换规则如下:
EMQX___ 替换为 .例如:
EMQX_DASHBOARD__DEFAULT_PASSWORD 对应 dashboard.default_password(控制台默认密码)EMQX_NODE__COOKIE 对应 node.cookie(节点 cookie)示例:设置控制台密码为 mysecret
docker run -d --name emqx -e EMQX_DASHBOARD__DEFAULT_PASSWORD=mysecret -p 18083:18083 -p 1883:1883 emqx:latest
更多配置细节见 官方文档。
环境变量 EMQX_NODE__NAME 用于指定节点名称,默认格式为 <容器名>@<容器 IP>。若未指定,EMQX 会根据运行环境或节点发现配置自动生成。
EMQX 支持多种集群方式(如静态节点列表、DNS 等),详见 集群文档。以下为 Docker Compose 静态节点集群示例:
compose.yaml:services: emqx1: image: emqx:latest environment: - "EMQX_NODE__NAME=[邮箱已删除]" - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static" - "EMQX_CLUSTER__STATIC__SEEDS=[[邮箱已删除], [邮箱已删除]]" networks: emqx-bridge: aliases: ["node1.emqx.io"] emqx2: image: emqx:latest environment: - "EMQX_NODE__NAME=[邮箱已删除]" - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static" - "EMQX_CLUSTER__STATIC__SEEDS=[[邮箱已删除], [邮箱已删除]]" 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/mnesia/${node_name},需固定节点名称以恢复状态):
/opt/emqx/data(数据文件)/opt/emqx/log(日志文件)Docker Compose 配置示例(使用命名卷):
volumes: vol-emqx-data: { name: foo-emqx-data } vol-emqx-log: { name: foo-emqx-log } services: emqx: image: emqx:latest restart: always environment: EMQX_NODE__NAME: foo_emqx@127.0.0.1 # 固定节点名称(单节点可用回环 IP) volumes: - vol-emqx-data:/opt/emqx/data - vol-emqx-log:/opt/emqx/log
推荐参考 性能调优指南。若需通过 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:latest
注意:不要以特权模式运行容器或挂载系统目录调优内核,存在安全风险。
emqx 目录 查看。使用前请确保遵守所有包含软件的许可证要求。
免费版仅支持 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