承接上文 WSL2+docker+redis 数据卷挂载部署 继续学习
将redis的数据卷拷贝三份,7001是master,7002和7003是slave,
将它们放在一个新的文件夹redis-cluster中,则redis-cluster_default
将作为compose的网络名
然后在一旁新建一个docker-compose.yml文件:
分别将三个redis数据卷中的配置文件的端口改成7001、7002、7003(过程略)
重点来了,编写docker-compose.yml:
version: '3.1'
services:
master:
image: redis
container_name: redis-master
ports:
- 7001:7001
volumes:
- ./redis7001:/usr/local/etc/redis
command: redis-server /usr/local/etc/redis/redis.conf
slave1:
image: redis
container_name: redis-slave1
ports:
- 7002:7002
volumes:
- ./redis7002:/usr/local/etc/redis
command: redis-server /usr/local/etc/redis/redis.conf --slaveof master 7001
slave2:
image: redis
container_name: redis-slave2
ports:
- 7003:7003
volumes:
- ./redis7003:/usr/local/etc/redis
command: redis-server /usr/local/etc/redis/redis.conf --slaveof master 7001
重点在于slave 的 command指令:
command: redis-server /usr/local/etc/redis/redis.conf --slaveof master 7001
保存yml文件,在redis-cluster中运行命令:
docker-compose up -d
查看日志,运行成功:
在管理工具中能够成功连接三个redis,测试在master插入一个num,三个redis能够同步: