centos7 docker 安装 redis 主从复制(一组二从)

docker 下载redis安装包  docker pull redis 

创建本地redis 文件,如图

每个文件夹都有两个文件夹 config 和 data.config文件夹里有 redis.conf 配置文件 

 其中主redis配置文件内容为

bind 0.0.0.0
protected-mode no

 两个从redis配置文件内容为 

bind 0.0.0.0
protected-mode no

然后执行命令

docker run --name redis-6395 -v /root/redis/redis-6395/conf/redis.conf:/etc/redis.conf -v /root/redis/redis-6395/data:/data -p 6395:6379 -d redis redis-server /etc/redis.conf

docker run --name redis-6396 -v /root/redis/redis-6396/conf/redis.conf:/etc/redis.conf -v /root/redis/redis-6396/data:/data -p 6396:6379 -d redis redis-server /etc/redis.conf

docker run --name redis-6397 -v /root/redis/redis-6397/conf/redis.conf:/etc/redis.conf -v /root/redis/redis-6397/data:/data -p 6397:6379 -d redis redis-server /etc/redis.conf

如图

 如果报错 docker: Error response from daemon: network redis-net not found

执行 docker network create redis-net

 

查询 三个redis的内网ip docker inspect redis-6395 redis-6396  redis-6397  |grep "IPAddress"

[root@localhost-1 redis]# docker inspect redis-6395 redis-6396  redis-6397  |grep "IPAddress"
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.2",
                    "IPAddress": "172.17.0.2",
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.3",
                    "IPAddress": "172.17.0.3",
            "SecondaryIPAddresses": null,
            "IPAddress": "172.17.0.4",
                    "IPAddress": "172.17.0.4",
[root@localhost-1 redis]# 

 我是已6395为主 ,内网ip为 172.17.0.2

执行命令 docker exec -it redis-6396  /bin/bash    redis-cli      slaveof 172.17.0.2 6379 ,两个从库执行相同的命令 即可 

[root@localhost-1 ~]# docker exec -it redis-6397  /bin/bash
root@de56d7c797ab:/data# redis-cli
127.0.0.1:6379> slaveof 172.17.0.2 6379
OK
127.0.0.1:6379> role
1) "slave"
2) "172.17.0.2"
3) (integer) 6379
4) "connected"
5) (integer) 56
127.0.0.1:6379> quit
root@de56d7c797ab:/data# exit
exit

 

链接主库 ,查询如图

[root@localhost-1 ~]# docker exec -it redis-6395  /bin/bash
root@0db6e913fa3c:/data# redis-cli
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.17.0.3,port=6379,state=online,offset=70,lag=0
slave1:ip=172.17.0.4,port=6379,state=online,offset=70,lag=1
master_failover_state:no-failover
master_replid:83dd673c621a5c9f650af735d65239b9f68ccb9d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:70
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:70
127.0.0.1:6379> quit
root@0db6e913fa3c:/data# exit
exit

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄泉路好走

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值