- 启动docker
systemctl start docker
- 新建6个docker容器redis实例
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386
分步命令含义:
- docker run:创建并运行docker容器实例
- –name redis-node-6:容器名字
- –net host:使用宿主机的IP和端口,默认
- –privileged=true:获取宿主机root用户权限
- -v /data/redis/share/redis-node-6:/data:容器卷,宿主机地址:docker内部地址
- redis:6.0.8:redis镜像和版本号
- –cluster-enabled yes:开启redis集群
- –appendonly yes:开启持久化
- –port 6386:redis端口号
- 进入容器redis-node-1并为6台机器构建集群关系
- 进入容器
docker exec -it redis-node-1 /bin/bash
- 构建主从关系
//注意,进入docker容器后才能执行一下命令,且注意自己的真实IP地址
redis-cli --cluster create 192.168.11.147:6381 192.168.11.147:6382 192.168.11.147:6383 192.168.111.147:6384 192.168.11.147:6385 192.168.11.147:6386 --cluster-replicas 1
//--cluster-replicas 1 表示为每个master创建一个slave节点
6.一切OK的话,3主3从搞定