天天看点

Docker之Redis的复制(Master/Slave)案例

一、复制三分配置文件

Docker之Redis的复制(Master/Slave)案例

二、修改三个配置文件改成对应的编号方便区分

Docker之Redis的复制(Master/Slave)案例
Docker之Redis的复制(Master/Slave)案例
Docker之Redis的复制(Master/Slave)案例

三、启动三个容器

# 创建并运行一个名为 myredis 的容器
docker run \
-p 6379:6379 \
-v $PWD/data:/data \
-v $PWD/conf/redis.conf:/etc/redis/redis.conf \
--privileged=true \
--name myredis \
-d redis redis-server /etc/redis/redis.conf

# 命令分解
docker run \
-p 6379:6379 \ # 端口映射 宿主机:容器
-v $PWD/data:/data:rw \ # 映射数据目录 rw 为读写
-v $PWD/conf/redis.conf:/etc/redis/redis.conf:ro \ # 挂载配置文件 ro 为readonly
--privileged=true \ # 给与一些权限
--name myredis \ # 给容器起个名字
-d redis redis-server /etc/redis/redis.conf # deamon 运行容器 并使用配置文件启动容器内的 redis-server 
           

开启6379: 

Docker之Redis的复制(Master/Slave)案例

开启6380:

Docker之Redis的复制(Master/Slave)案例

开启6381:

Docker之Redis的复制(Master/Slave)案例

连接主库和两个从库:

Docker之Redis的复制(Master/Slave)案例

查看信息:默认三个库都是主库role:master

Docker之Redis的复制(Master/Slave)案例

四、手动从其他库复制

1)、查看主库ip

docker inspect redis6379
           
Docker之Redis的复制(Master/Slave)案例

2)、主库中添加数据从库备份

6379主库中添加k10:100,从库获取到k10

Docker之Redis的复制(Master/Slave)案例

注意如果获取不到检查bind是否配置正确

更改redis.conf 文件

bind 127.0.0.1

protected-mode yes
           

 改为:

# bind 127.0.0.1

protected -mode no
           

 3)、再查看主库信息

info replication
           
Docker之Redis的复制(Master/Slave)案例

发现有两个从库 

4)、查看从库信息

Docker之Redis的复制(Master/Slave)案例

继续阅读