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

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

完成。

发布了41 篇原创文章 · 获赞 136 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章