天天看點

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)案例

繼續閱讀