Redis(六)—— docker redis 主从模式部署

本文通过实例展示了如何在Docker环境下部署Redis的主从复制模式。详细步骤包括配置、验证主从连接以及数据同步的过程,成功实现Redis主从数据自动备份。

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

没事自己搞虚拟机在docker里面部署了主从复制模式,直接show code:

 

虚拟机1 作为master
# 拉取redis镜像
docker pull redis

#创建redis-0容器 作为master
docker run -d -p 6379:6379 --name redis-0 --network host <images-id> redis-server --requirepass <password>

# --name redis-0 指定redis容器名称为redis-0
# --network host 指定容器的ip为本机ip(该虚拟机) 而不是docker分配虚拟ip
# --requirepass <password> 指定redis密码,这里我设置的是 123456

#进入容器查看是否创建成功:
docker exec -it redis-0 redis-cli -a 123456

#成功进入,表明创建成功


接着是虚拟机2 作为slave
创建的步骤一样命令一样 只是这里为了区分,容器的名称我们设置为redis-1
docker run -d -p 6379:6379 --name redis-1 --network host <images-id> redis-server --requirepass <password>

#同样进入容器中查看
docker exec -it redis-1 redis-cli -a 123456

#接着我们需要将redis-1 指定为redis-0的slave,redis里面有个slaveof host port 命令
#顾名思义,即 host port 的从redis
#通过 ip addr 查看redis-0 所在虚拟机地址为192.168.137.128
slaveof 192.168.137.128 6379

#接着配置master登录密码 config set masterauth <master-password>,上面我们设置了密码为123456
config set masterauth 123456

接着使用info 查看是否设置成功

如下:查看Replication部分

#role 角色:slave 

master_host 主redis地址:192.168.137.128

master_port 主redis端口:6379

#到这里一切正常,但是下面却是:

master_link_status:down 

#表明连接到master时是失败的,前面的配置是正常的,所以应该是两台虚拟机之间网络不通导致

# 关闭防火墙
systemctl stop firewalld

#永久关闭防火墙
systemctl stop firewalld

#重启一下redis-0
docker restart redis-1

重启之后发现连接已经正常:

我们再看一下redis-0的信息:一切正常

接着我们在redis-0中set一下数据,看一下是否自动备份了到redis-1中:

随后我们去redis-1 中取数据:

这时 redis-0 中的数据已经自动同步到了redis-1中,redis简单的主从模式配置成功。

如果要增加slave-redis,设置方式与redis-1一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值