看狂神的视频,推荐大家看狂神的视频极力推荐良心作品。https://www.bilibili.com/video/BV1og4y1q7M4?p=38
创建redis网络
docker network create redis --subnet 172.35.0.0/16
创建6个配置文件redis创建用
for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat <<EOF >/mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.35.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done
批量启动redis
#创建服务
for port in $(seq 1 6); \
do \
docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} -v /mydata/redis/node-${port}/data:/data -v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 172.35.0.1${port} redis:latest redis-server /etc/redis/redis.conf
done
进入redis创建集群
#进入redis-1
docker exec -it redis-1 /bin/sh
#创建集群
redis-cli --cluster create 172.35.0.11:6379 172.35.0.12:6379 172.35.0.13:6379 172.35.0.14:6379 172.35.0.15:6379 172.35.0.16:6379 --cluster-replicas 1
#连接redis
redis-cli -c
#查看集群信息
cluster info
#集群节点信息
cluster node
尝试停止一台主redis看另外一台从redis是否能顶上去。
把停止的主redis再起来看看是否能成为从机。
答案是可以的。
#手动把刚才的的redis-1停止
#再把redis-1起来