docker创建redis集群 yml,以集群方式启动
时间: 2023-07-19 19:32:26 浏览: 63
可以使用以下的 docker-compose.yml 文件来创建 Redis 集群:
```
version: '3'
services:
redis1:
image: redis:5.0.5
command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
ports:
- "6379:6379"
volumes:
- redis1:/data
redis2:
image: redis:5.0.5
command: redis-server --port 6380 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
ports:
- "6380:6380"
volumes:
- redis2:/data
redis3:
image: redis:5.0.5
command: redis-server --port 6381 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
ports:
- "6381:6381"
volumes:
- redis3:/data
redis4:
image: redis:5.0.5
command: redis-server --port 6382 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
ports:
- "6382:6382"
volumes:
- redis4:/data
redis5:
image: redis:5.0.5
command: redis-server --port 6383 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
ports:
- "6383:6383"
volumes:
- redis5:/data
redis6:
image: redis:5.0.5
command: redis-server --port 6384 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000 --appendonly yes
ports:
- "6384:6384"
volumes:
- redis6:/data
volumes:
redis1:
redis2:
redis3:
redis4:
redis5:
redis6:
```
这个文件定义了 6 个 Redis 实例,使用不同的端口号,每个实例都映射至主机的相应端口。每个实例都使用了一个独立的数据卷,以便在容器之间共享数据。
要启动 Redis 集群,请使用以下命令:
```
docker-compose up
```
这将启动所有的 Redis 实例,并在控制台输出日志。启动后,可以通过任何一个实例的 IP 地址和端口号来访问 Redis 集群,例如:
```
redis-cli -c -p 6379
```
这会连接到 Redis 集群中的一个节点,可以在其中执行 Redis 命令。注意,必须加上参数 `-c`,以启用 Redis 集群模式。