拉取Redis镜像
拉取Redis-trib镜像
1
| docker pull inem0o/redis-trib
|
通过镜像启动容器(Redis集群实例*6)
1 2 3 4 5 6
| docker run --name redis7000 -p 7000:6379 -d redis redis-server --appendonly yes --protected-mode no --cluster-enabled yes docker run --name redis7001 -p 7001:6379 -d redis redis-server --appendonly yes --protected-mode no --cluster-enabled yes docker run --name redis7002 -p 7002:6379 -d redis redis-server --appendonly yes --protected-mode no --cluster-enabled yes docker run --name redis7003 -p 7003:6379 -d redis redis-server --appendonly yes --protected-mode no --cluster-enabled yes docker run --name redis7004 -p 7004:6379 -d redis redis-server --appendonly yes --protected-mode no --cluster-enabled yes docker run --name redis7005 -p 7005:6379 -d redis redis-server --appendonly yes --protected-mode no --cluster-enabled yes
|
查询各个实例的容器IP
1 2 3
| docker inspect redis7000 | grep IPAddress docker inspect redis7001 | grep IPAddress ...以及其他的...
|
通过redis-trib搭建集群
1
| docker run --rm -it inem0o/redis-trib create --replicas 1 172.17.0.2:6379 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379
|
进入某个容器执行命令(准备修改密码)
1
| docker exec -it redis7000 bash
|
连接各个Redis实例修改密码
1 2 3 4 5 6 7 8 9
| redis-cli -p 6379 -h 172.17.0.2 config set masterauth 123456 config set requirepass 123456 config rewrite
redis-cli -p 6379 -h 172.17.0.3 config set masterauth 123456 config set requirepass 123456 config rewrite
|
验证集群信息
1 2
| CLUSTER INFO cluster nodes
|
结束
至此,完事
补充
一种错误的集群创建方式 创建集群后,主节点宕机不能触发FailOver
1
| redis-cli -a 123456 --cluster create 172.17.0.3:6379 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379 --cluster-replicas 1
|