基于docker配置redis的主从复制

基于docker配置redis的主从复制

拉取redis镜像

我这里用的是3.2版本的

docker pull redis:3.2

挂载外部配置

创建redis_data,6379,6380,6381这几个目录

在这里插入图片描述

创建redis_config以及三个配置文件

在这里插入图片描述

其中主redis的redis_6379.conf:

bind *
port 6379
pidfile /var/run/redis_6379.pid
logfile "6379.log"
databases 16
dbfilename dump6379.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
requirepass 123456

redis_6380.conf

bind *
port 6379
pidfile /var/run/redis_6380.pid
logfile "6380.log"
databases 16
dbfilename dump6380.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
requirepass 123456
replicaof 192.168.31.100 6379    #这个才重要

redis_6381.conf

bind *
port 6379
pidfile /var/run/redis_6380.pid
logfile "6380.log"
databases 16
dbfilename dump6380.rdb
dir ./
slave-serve-stale-data yes
slave-read-only yes
requirepass 123456
replicaof 192.168.31.100 6379    #这个才重要

主节点不需要配置replicaof 从节点配置

想要了解redis的详细配置可以看https://blog.csdn.net/weixin_43296313/article/details/120080524

拉去redis.conf文件命令:

wget -c http://download.redis.io/redis-stable/redis.conf	

创建shell脚本

vim redis_cluster.sh
#!/bin/bash
sudo docker run --name redis -p 6379:6379 -d --restart=always -v /huanglei/redis_config/redis_6379.conf:/etc/redis/6379/redis.conf -v /huanglei/data/redis_data/6379:/data redis:3.2 redis-server /etc/redis/6379/redis.conf --appendonly     yes --requirepass '123456' --bind 0.0.0.0 --protected-mode no

sudo docker run --name redis_6380 -p 6380:6379 -d --restart=always -v /huanglei/redis_config/redis_6380.conf:/etc/redis/6380/redis.conf -v /huanglei/data/redis_data/6380:/data redis:3.2 redis-server /etc/redis/6380/redis.conf --append    only yes --requirepass '123456' --bind 0.0.0.0 --protected-mode no

sudo docker run --name redis_6381 -p 6381:6379 -d --restart=always -v /huanglei/redis_config/redis_6381.conf:/etc/redis/6381/redis.conf -v /huanglei/data/redis_data/6381:/data redis:3.2 redis-server /etc/redis/6381/redis.conf --append    only yes --requirepass '123456' --bind 0.0.0.0 --protected-mode no

# --requirepass '123456' 指定redis的密码
# --name redis 给这个容器取名字
# -p 6379:6379 端口映射,前面是宿主机端口,后面是容器端口
# --restart=always 随着容器启动而启动
# redis-server --appendonly yes  在容器执行redis-server启动命令,并打开redis持久化配置
# -d:以守护(后台)模式运行容器
# -v /huanglei/redis_config/redis_6379.conf:/etc/redis/6379/redis.conf 前面是宿主机redis_6379.conf的文件路径,后面是容器内部redis.config文件路径
# redis-server /etc/redis/6379/redis.conf 指定用配置文件的方式启动redis

然后在改文件所在的目录执行脚本

./redis_cluster.sh

查看redis配置效果

docker exec -it 名称或者容器id  /bin/bash
redis-cli
info replication

主节点:

在这里插入图片描述

俩个从节点都是一样的

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值