Docker配置redis主从哨兵

本文详细介绍了如何使用Docker部署Redis集群及Sentinel的过程,包括从Docker仓库拉取Redis镜像,配置主从复制,启动多个Redis实例与Sentinel节点,以及在主节点停止后自动进行故障转移的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.从docker仓库拉取redis镜像

[Shell] 纯文本查看 复制代码
?
1
docker pull redis




2.在/home下分别创建redis-6379-data,redis-6380-data,redis-6381-data

3.拷贝/etc/redis/redis.conf 到 /home下

4.复制redis.conf为redis-6379.conf, redis-6380.conf,redis.6381.con并且分别修改其中的配置, logfile指定不同的文件

[Shell] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
port 6380
 
logfile "redis-6380.log"
 
dir /data
 
appendonly yes
 
appendfilename appendonly.aof
 
slaveof 127.0.0.1 6379



5.docker启动3个redis

[Shell] 纯文本查看 复制代码
?
1
docker run -tdi -v /home/data:/data /home/redis-6379.conf:/usr/local/ect/redis/redis.conf -p 6379:6379 redis

 

[AppleScript] 纯文本查看 复制代码
?
1
docker run -tdi -v /home/data:/data /home/redis-6380.conf:/usr/local/ect/redis/redis.conf -p 6380:6380 redis

 

[AppleScript] 纯文本查看 复制代码
?
1
docker run -tdi -v /home/data:/data /home/redis-6381.conf:/usr/local/ect/redis/redis.conf -p 6381:6381 redis



6.通过redis-cli分别连入创建好的redis服务器,测试主从是否配好

7.配置redis-sentinelm,创建三个sentinel文件,内容如下

[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
port 26379
 
dir "/data"
 
logfile "sentinel-26379.log"
 
sentinel monitor mymaster 127.0.0.1 6379 2
 
sentinel down-after-milliseconds mymaster 10000
 
sentinel failover-timeout mymaster 60000


只修改日志的文件名即可

8.通过docker启动三个sentinel

[Shell] 纯文本查看 复制代码
?
1
docker run -dit -v /home/sentinel-26379.conf:/usr/local/etc/redis/sentinel.conf -p 26379:26379 redis  redis-sentinel /usr/local/etc/redis/sentinel.conf

 

[AppleScript] 纯文本查看 复制代码
?
1
docker run -dit -v /home/sentinel-26380.conf:/usr/local/etc/redis/sentinel.conf -p 26380:26380 redis  redis-sentinel /usr/local/etc/redis/sentinel.conf
[Shell] 纯文本查看 复制代码
?
1
docker run -dit -v /home/sentinel-26381.conf:/usr/local/etc/redis/sentinel.conf -p 26381:26381 redis  redis-sentinel /usr/local/etc/redis/sentinel.conf



9.停止redis的master节点
docker stop master节点的containerid

10.连入从节点,查看主从状态

[Shell] 纯文本查看 复制代码
?
1
2
redis-cli -p 6380
info replication



11.稍等几十秒,从节点就会自动变成主节点

哨兵模式的原理采用了心跳机制和投票裁决机制。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值