docker部署redis集群(Cluster版)

拉取Redis镜像

1
docker pull 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
通过Redis哨兵查看集群信息

结束

至此,完事

补充

一种错误的集群创建方式 创建集群后,主节点宕机不能触发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
作者

神奇宝贝大师

发布于

2019-12-10

更新于

2021-06-08

许可协议

评论