基于docker实现Redis哨兵模式

基于docker实现Redis哨兵模式

下载docker Redis镜像

docker pull redis

运行容器

sudo docker run -d --name redis-0 -p 6380:6379 redis redis-server  # 作为主机
sudo docker run -d --name redis-1 -p 6381:6379 redis redis-server  # 作为从机
sudo docker run -d --name redis-2 -p 6382:6379 redis redis-server  # 作为从机

docker 容器之间的网络互连默认使用的bridge模式,简单理解为 各个容器之间处在一个局域网内,与外界隔离。外界想要访问可以通过宿主机端口映射的方式。

查看容器信息

docker inspect redis-1

在这里插入图片描述

设置主机与从机

,Redis的主从配置十分简单,主机不用做任何配置,而从机也只需要一条命令就好。
使用redis-cli 工具连接运行在docker 容器里面的redis server。此时用的是主机映射过去的端口号,所以是 6381因为docker会将对于宿主机6381端口的请求转发到这个容器的6379端口。如果使用容器的IP地址连接 则应该为 ./redis-cli -h 172.17.0.3 -p 6379
在这里插入图片描述

验证

给主机设置数据
在这里插入图片描述
在从机上取数据

在这里插入图片描述
在这里插入图片描述

新建sentinel.conf文件

在文件中只需简单配置一句话,完整的配置文件可以参考redis安装目录下的sentinel.conf文件。

sentinel monitor host6380 172.17.0.2 6379 1

sentinel monitor <maseter-name> <ip> <redis-port> <quorum>
<maseter-name> : 给主机起个名字
<ip> : 主机的IP地址与端口号
<quorum> : 当主机挂了以后,从机要获取多少票才能成为主机。

开启哨兵监控

./redis-sentinel /home/crxk/Documents/redis/sentinel.conf

在这里插入图片描述
查看主机信息
在这里插入图片描述
查看从机信息
在这里插入图片描述
把主机直接关闭,此时查看运行哨兵程序的那个命令框,稍等一会发现系统自动进行选举,然后确定新的主机
在这里插入图片描述
在这里插入图片描述
此时过程中应该注意,对于容器之间的互连,以及宿主机与容器之间的互连,要多通过容器的局域网IP地址来进行访问。

发布了15 篇原创文章 · 获赞 8 · 访问量 5955

猜你喜欢

转载自blog.csdn.net/crxk_/article/details/103374372
今日推荐