分布式emqx集群docker-compose
时间: 2023-09-27 07:06:11 浏览: 143
下面是一个使用 Docker Compose 配置分布式 EMQ X 集群的示例:
```yaml
version: '3'
services:
emqx1:
image: emqx/emqx:4.3.0
environment:
- EMQX_NAME=emqx1
- EMQX_HOST=emqx1
- EMQX_LISTENER__TCP__EXTERNAL=1883
- EMQX_CLUSTER__ENABLED=true
- EMQX_CLUSTER__NAME=emqx_cluster
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx2:nodes@emqx2,emqx3:nodes@emqx3
ports:
- 1883:1883
networks:
emqx_network:
emqx2:
image: emqx/emqx:4.3.0
environment:
- EMQX_NAME=emqx2
- EMQX_HOST=emqx2
- EMQX_LISTENER__TCP__EXTERNAL=1884
- EMQX_CLUSTER__ENABLED=true
- EMQX_CLUSTER__NAME=emqx_cluster
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx1:nodes@emqx1,emqx3:nodes@emqx3
ports:
- 1884:1883
networks:
emqx_network:
emqx3:
image: emqx/emqx:4.3.0
environment:
- EMQX_NAME=emqx3
- EMQX_HOST=emqx3
- EMQX_LISTENER__TCP__EXTERNAL=1885
- EMQX_CLUSTER__ENABLED=true
- EMQX_CLUSTER__NAME=emqx_cluster
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx1:nodes@emqx1,emqx2:nodes@emqx2
ports:
- 1885:1883
networks:
emqx_network:
networks:
emqx_network:
```
这个示例中配置了一个包含三个 EMQ X 节点的集群,每个节点的名称和主机名分别为 `emqx1`、`emqx2` 和 `emqx3`。每个节点都将监听不同的端口,分别是 `1883`、`1884` 和 `1885`。节点之间通过静态发现进行通信,使用的集群名称是 `emqx_cluster`。
你可以将上面的配置保存为 `docker-compose.yml` 文件,然后在该文件所在的目录下运行 `docker-compose up -d` 命令来启动集群。
阅读全文