在一台物理机上使用docker-compose部署emqx集群
时间: 2024-01-05 11:10:48 浏览: 188
是的,你可以在一台物理机上使用docker-compose部署emqx集群。以下是基本步骤:
1. 在物理机上安装docker和docker-compose。
2. 创建一个docker-compose.yml文件,其中包括emqx节点的配置。例如:
```
version: '3'
services:
emqx1:
image: emqx/emqx:v4.2.0
container_name: emqx1
environment:
- EMQX_NAME=emqx1
- EMQX_HOST=emqx1
- EMQX_NODE__DIST_LISTEN_MAX=6385
- EMQX_LISTENER__TCP__EXTERNAL=1883
- EMQX_LISTENER__WS__EXTERNAL=8083
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx2@emqx2,emqx3@emqx3
ports:
- "1883:1883"
- "8083:8083"
volumes:
- ./data/emqx1/data:/opt/emqx/data
- ./data/emqx1/log:/opt/emqx/log
emqx2:
image: emqx/emqx:v4.2.0
container_name: emqx2
environment:
- EMQX_NAME=emqx2
- EMQX_HOST=emqx2
- EMQX_NODE__DIST_LISTEN_MAX=6385
- EMQX_LISTENER__TCP__EXTERNAL=1884
- EMQX_LISTENER__WS__EXTERNAL=8084
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx1@emqx1,emqx3@emqx3
ports:
- "1884:1883"
- "8084:8083"
volumes:
- ./data/emqx2/data:/opt/emqx/data
- ./data/emqx2/log:/opt/emqx/log
emqx3:
image: emqx/emqx:v4.2.0
container_name: emqx3
environment:
- EMQX_NAME=emqx3
- EMQX_HOST=emqx3
- EMQX_NODE__DIST_LISTEN_MAX=6385
- EMQX_LISTENER__TCP__EXTERNAL=1885
- EMQX_LISTENER__WS__EXTERNAL=8085
- EMQX_CLUSTER__DISCOVERY=static
- EMQX_CLUSTER__STATIC__SEEDS=emqx1@emqx1,emqx2@emqx2
ports:
- "1885:1883"
- "8085:8083"
volumes:
- ./data/emqx3/data:/opt/emqx/data
- ./data/emqx3/log:/opt/emqx/log
```
3. 创建一个data目录,用于容器内部的数据存储。
4. 运行docker-compose命令以启动emqx集群:
```
docker-compose up -d
```
5. 检查集群状态:
```
docker-compose ps
```
如果一切正常,应该看到三个emqx节点正在运行。
阅读全文