redis主从复制(在虚拟机centos的docker下)

1.安装docker

Docker安装(CentOS)+简单使用-CSDN博客

2.编辑3个redis配置

复制代码
cd /etc
mkdir redis-ms
cd redis-ms/
vim redis6379.conf
vim redis6380.conf
vim redis6381.conf

# master
#端口号
port 6379

#设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456

#daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no

# 任何主机都可以连接到redis
bind 0.0.0.0

#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no

# 默认情况下,redis会在后台异步的把数据库镜像备份到磁盘,但是该备份是非常耗时的,而且备份也不能很频繁,如果发生诸如拉闸限电、拔插头等状况,那么将造成比较大范围的数据丢失。
# 所以redis提供了另外一种更加高效的数据库备份及灾难恢复方式。
# 开启append only模式之后,redis会把所接收到的每一次写操作请求都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态。
# 但是这样会造成appendonly.aof文件过大,所以redis还支持了BGREWRITEAOF指令,对appendonly.aof 进行重新整理。
# 你可以同时开启asynchronous dumps 和 AOF
appendonly yes

# slave1
port 6380

#设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456

# 这一步很重要!主从认证密码,否则主从不能同步!!
masterauth 123456

#daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no

# 任何主机都可以连接到redis
bind 0.0.0.0

#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no

# 开启AOF
appendonly yes

# slave2
port 6381

#设置客户端连接后进行任何其他指定前需要使用的密码
requirepass 123456

# 这一步很重要!主从认证密码,否则主从不能同步!!
masterauth 123456

#daemonize no 将daemonize yes注释起来或者 daemonize no设置,因为该配置和docker run中-d参数冲突,会导致容器一直启动失败
daemonize no

# 任何主机都可以连接到redis
bind 0.0.0.0

#是否开启保护模式,默认开启。要是配置里没有指定bind和密码。开启该参数后,redis只会本地进行访问,拒绝外部访问。
protected-mode no

# 开启AOF
appendonly yes

3.部署3个redis

复制代码
docker run -p 6379:6379 -v $PWD/data6379:/data -v $PWD/redis6379.conf:/etc/redis/redis.conf --privileged=true --name redis-6379 -d redis redis-server /etc/redis/redis.conf

docker run -p 6380:6380 -v $PWD/data6380:/data -v $PWD/redis6380.conf:/etc/redis/redis.conf --privileged=true --name redis-6380 -d redis redis-server /etc/redis/redis.conf

docker run -p 6381:6381 -v $PWD/data6381:/data -v $PWD/redis6381.conf:/etc/redis/redis.conf --privileged=true --name redis-6381 -d redis redis-server /etc/redis/redis.conf

4.查看主redis的 IPAddress

复制代码
docker ps | grep redis-6379

docker inspect be101fa40be7 | grep IPAddress

找到对应的 "IPAddress": "172.17.0.4"

5.查看主redis的信息

进入:docker exec -it redis-6379 redis-cli -p 6379

密码验证: auth 123456

查看信息:info replication

role:master

connected_slaves:0

6.进入从redis

进入:docker exec -it redis-6380 redis-cli -p 6380

密码验证: auth 123456

关联:slaveof 172.17.0.4 6379

注:6381 一样的操作

7.再次查看主redis的信息

8.大功告成 开始验证

在主redis设置值

在从redis查看

注:从redis是只读的状态

相关推荐
IT规划师2 小时前
Redis 数据类型全解 - Bitfield:99% 开发者没用过的位域操作,把内存再砍 80%(七)
redis·bitfield·位域
java_logo10 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
IT利刃出鞘18 小时前
Docker Compose--解决修改配置后不生效的问题
运维·docker·容器
java_logo18 小时前
Docker 部署 CloudBeaver:轻松搭建网页数据库管理平台
数据库·docker·容器·数据库管理·dbeaver·轩辕镜像·cloudbeaver
Lsetea18 小时前
Docker更新SSL证书后容器仍读旧文件:单文件挂载与目录挂载排查
运维·nginx·docker·https·ssl证书
好用斋19 小时前
拾光坞安装网盘聚合LitePan:把Docker命令翻译成图形界面
运维·docker·容器
用户0942485680320 小时前
第19章:库存扣减与秒杀系统:Redis 扛峰值流量
redis·架构·源码
对象存储与RustFS20 小时前
Velero 接 RustFS 实操:K8s 集群备份落到自建对象存储
后端·docker·云原生
爱写Bug的浮游20 小时前
RTA高频请求下的Redis短缓存工程闭环
redis