docker 配置redis主從復制


一、安裝Redis

1.拉取官方鏡像

[root@localhost /]# docker pull  redis:5.0.7

2.下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為redis,標簽為5.0.7的鏡像。

[root@localhost ~]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis       5.0.7               dcf9ec9265e0        3 months ago        98.2 MB

3.運行容器

[root@localhost ~]# docker run --name redis-6379 -p 6379:6379 -d redis:5.0.7 redis-server

  

二、主從復制

1.運行redis鏡像

首先使用docker啟動3個redis容器服務,分別使用到6379、6380、6381端口

docker run --name redis-6379 -p 6379:6379 -d redis:3.2 redis-server
docker run --name redis-6380 -p 6380:6379 -d redis:3.2 redis-server
docker run --name redis-6381 -p 6381:6379 -d redis:3.2 redis-server

2.配置redis集群

使用如下命令查看容器內網的ip地址等信息

docker inspect containerid(容器ID)

 

 

 3個redis的內網ip地址為:

redis-6379:172.17.0.3:6379
redis-6380:172.17.0.4:6379
redis-6381:172.17.0.5:6379

進入docker容器內部,查看當前redis角色(主master還是從slave)(命令:info replication)

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_replid:a44f60e68f4d128750c2d09a00c9d4a1b6b643d1
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

可以看到當前3台redis都是master角色,使用redis-cli命令修改redis-6380、redis-6381的主機為172.17.0.3:6379

[root@localhost ~]# docker exec -it redis-6381 redis-cli
127.0.0.1:6379> slaveof 172.17.0.3 6379
OK

再次查看主機info,已經有兩個從機了(.4 和 .5)

127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.17.0.5,port=6379,state=online,offset=308,lag=1
slave1:ip=172.17.0.6,port=6379,state=online,offset=308,lag=1
master_replid:2392e41f862b441aed8e66c6fe9483e772c671b6
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:308
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:308

至此,redis下的主從配置就ok了。

 

 

 

參考:https://blog.csdn.net/yhk724555508/article/details/85338706?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM