Docker下配置redis的主从复制和哨兵机制

今天来讲如何实现在docker下配置redis的主从复制(读写分离)和哨兵机制,希望能给广大博友带来帮助。

Docker配置redis主从配置

1.拉取docker镜像

docker ps -a

在这里插入图片描述
由此可见 只有一个redis 主配置

2.配置两个从配置
docker run -name slave -p 6380:6379 -d redis
docker run --name slave1 -p 6381:6379 -d redis

3.再次查看docker镜像
docker ps -a
在这里插入图片描述
4.开始主从配置

4.1先查看内网的ip地址
docker inspect 872a7feaa6fd
在这里插入图片描述
3个redis的内网ip地址为:

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

4.2进入容器内部 查看当前redis角色(主还是从)
在这里插入图片描述
目前三个都是master状态

4.3、使用redis-cli命令修改redis-6380、redis-6381的主机为172.17.0.2 6379
在这里插入图片描述
在这里插入图片描述

4.4、查看redis-6379是否已经拥有2个从机
在这里插入图片描述

由此可见 connected_slaves:2 拥有2个从机

Docker配置redis哨兵机制

5、配置Sentinel哨兵

进入3台redis容器内部进行配置,在容器根目录里面创建sentinel.conf文件

文件内容为:sentinel monitor mymaster 172.17.0.2 6379 1
在这里插入图片描述
出现bash: vim: command not found

解决:1、apt-get update 2、apt-get install vim

最后,启动Redis哨兵:
在这里插入图片描述

6.测试

6.1打开多个窗口(便于观察)
在这里插入图片描述
6.2关闭主配置(Master)
docker stop 872a7feaa6fd

查看其他两个是否选举成功
在这里插入图片描述
在这里插入图片描述

完成。

posted @ 2019-06-12 14:21  奋斗的小宋  阅读(41)  评论(0)    收藏  举报