docker 部署redis哨兵模式的集群

发布时间 2023-10-30 14:45:41作者: 属于我的梦,明明还在

创建网络

docker network create --subnet=172.10.0.0/16 redis

创建文件目录

[root@master app]# mkdir -p /app/redis/server/config
[root@master app]# mkdir -p /app/redis/server/data
[root@master app]# mkdir -p /app/redis/sentinel/config
[root@master app]# mkdir -p /app/redis/sentinel/data
[root@master app]# mkdir -p /app/redis2/server/config
[root@master app]# mkdir -p /app/redis2/server/data
[root@master app]# mkdir -p /app/redis2/sentinel/config
[root@master app]# mkdir -p /app/redis2/sentinel/data
[root@master app]# mkdir -p /app/redis3/server/config
[root@master app]# mkdir -p /app/redis3/server/data
[root@master app]# mkdir -p /app/redis3/sentinel/config
[root@master app]# mkdir -p /app/redis3/sentinel/data

创建配置文件

redis 主配置文件

port 9736
appendonly yes
masterauth 123456
requirepass 123456

# slave向master通告自己的固定端口
slave-announce-port 9736
# slave向master通告自己的固定ip
slave-announce-ip 172.10.0.12
slave-announce-ip 172.10.0.13

redis 备配置文件

port 9736
appendonly yes
masterauth 123456
requirepass 123456

# slave向master通告自己的固定端口
slave-announce-port 9736
# slave向master通告自己的固定ip
slave-announce-ip 172.10.0.12
slave-announce-ip 172.10.0.13 # 从节点上有此配置 slaveof
172.10.0.11 9736

启动主从节点

docker run -d --name redis-master --network redis --ip 172.10.0.11 -u root -p 6380:6379-v /app/redis/server/config:/etc/redis/config -v /app/redis/server/data:/data -e TZ=Asia/Shanghai redis:6.2 redis-server /etc/redis/config/redis.conf
docker run -d --name redis-node --network redis --ip 172.10.0.12 -u root -p 6381:6379-v /app/redis2/server/config:/etc/redis/config -v /app/redis2/server/data:/data -e TZ=Asia/Shanghai redis:6.2 redis-server /etc/redis/config/redis.conf
docker run -d --name redis-node2 --network redis --ip 172.10.0.13 -u root -p 6382:6379-v /app/redis3/server/config:/etc/redis/config -v /app/redis3/server/data:/data -e TZ=Asia/Shanghai redis:6.2 redis-server /etc/redis/config/redis.conf