🚀 一、镜像选择
- 使用官方镜像:
官方镜像地址:https://hub.docker.com/r/emqx/emqx - 选择合适版本: 稳定版优先(如
emqx:5.6.1),避免使用latest标签
⚙️ 二、启动命令 & 基础参数
docker run -d --name emqx \
-p 1883:1883 \ # MQTT 协议端口
-p 8883:8883 \ # MQTT over SSL/TLS
-p 8083:8083 \ # WebSocket
-p 8084:8084 \ # WSS
-p 18083:18083 \ # Dashboard 管理端口
emqx/emqx:5.6.1
🧾 三、配置挂载(持久化)
方法一:挂载配置目录
-v /your/path/emqx.conf:/opt/emqx/etc/emqx.conf
-v /your/path/plugins:/opt/emqx/data/plugins
方法二:通过环境变量配置(推荐)
-e EMQX_NODE_NAME=emqx@127.0.0.1
-e EMQX_ALLOW_ANONYMOUS=false
-e EMQX_LOADED_PLUGINS="emqx_recon,emqx_retainer"
完整环境变量参考文档:
https://docs.emqx.com/en/enterprise/v5.0/deploy/install-docker.html#configuration
🧠 四、注意事项汇总
| 类别 | 注意点说明 |
|---|---|
| 端口映射 | 确保宿主机端口未被占用,特别是 1883、18083 等 |
| 网络模式 | 单节点使用默认 bridge 网络;集群部署建议使用自定义 --network |
| 持久化数据 | 如需持久化请挂载 /opt/emqx/data |
| 权限问题 | 挂载目录需适当权限(如 chmod -R 777) |
| 资源限制 | 建议至少 1 GB RAM |
| 时间同步 | 确保容器时间与主机一致 |
| Dashboard 访问 | 默认账号 admin,密码 public |
| 日志排查 | 使用 docker logs -f emqx |
| SSL 配置 | 证书可挂载到 /opt/emqx/etc/certs/ |
🧪 五、集群部署额外注意事项
- 使用自定义 Docker 网络(如
docker network create emqx-net) - 确保每个节点设置唯一
EMQX_NODE_NAME - 设置
EMQX_CLUSTER__DISCOVERY为static - 指定集群节点地址:
-e EMQX_CLUSTER__DISCOVERY=static
-e EMQX_CLUSTER__STATIC__SEEDS=emqx@emqx1.local,emqx@emqx2.local
正文完