docker部署集群化redis
时间: 2023-11-10 15:06:03 浏览: 115
要在Docker中部署Redis集群,可以使用Redis官方提供的Docker镜像,并使用Docker Compose来编排容器。以下是一个简单的Docker Compose文件示例:
```
version: '3'
services:
redis-1:
image: redis
command: redis-server --port 6379 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000
volumes:
- ./redis-1:/data
ports:
- "6379"
redis-2:
image: redis
command: redis-server --port 6380 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000
volumes:
- ./redis-2:/data
ports:
- "6380"
redis-3:
image: redis
command: redis-server --port 6381 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000
volumes:
- ./redis-3:/data
ports:
- "6381"
redis-4:
image: redis
command: redis-server --port 6382 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000
volumes:
- ./redis-4:/data
ports:
- "6382"
redis-5:
image: redis
command: redis-server --port 6383 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000
volumes:
- ./redis-5:/data
ports:
- "6383"
redis-6:
image: redis
command: redis-server --port 6384 --cluster-enabled yes --cluster-config-file /data/nodes.conf --cluster-node-timeout 5000
volumes:
- ./redis-6:/data
ports:
- "6384"
```
在这个示例中,我们定义了6个Redis容器,每个容器都运行在不同的端口上,并使用相同的配置文件。我们还将每个容器的数据卷映射到本地文件系统上,以便在容器重启后保留数据。
要启动Redis集群,请按照以下步骤操作:
1. 在本地创建一个目录,例如“redis-cluster”。
2. 将上面的Docker Compose文件保存为“docker-compose.yml”并将其放入该目录中。
3. 打开终端并导航到该目录。
4. 运行“docker-compose up”命令以启动Redis容器。
5. 运行以下命令以创建Redis集群:
```
docker exec -it redis-1 redis-cli --cluster create \
172.20.0.2:6379 \
172.20.0.3:6379 \
172.20.0.4:6379 \
172.20.0.5:6379 \
172.20.0.6:6379 \
172.20.0.7:6379 \
--cluster-replicas 1
```
在这个命令中,我们使用“redis-cli”工具创建了一个6个节点的Redis集群,并将每个节点的IP地址和端口号传递给命令。我们还指定了一个副本,以便在主节点故障时自动切换到备份节点。
阅读全文