利用Docker搭建Redis集群
Redis集群搭建
运行Redis镜像
分别使用以下命令启动3个Redis
docker run --name redis-6379 -p 6379:6379 -d hub.c.163.com/library/redis
docker run --name redis-6380 -p 6380:6379 -d hub.c.163.com/library/redis
docker run --name redis-6381 -p 6381:6379 -d hub.c.163.com/library/redis
使用docker ps命令,查看是否启动成功

配置Redis集群
分别使用dokcer inspect 容器ID命令,查看3个Redis内网IP地址

在Networks栏,可以看见该容器的Docker内网IP地址。
redis-6379:172.17.0.2:6379
redis-6380:172.17.0.3:6379
redis-6381:172.17.0.4:6379
进入Docker容器内部
使用redis-6379为主机,其余两台为从机
使用 docker exec -ti 容器ID /bin/bash 分别进入三个Redis容器
进入容器后,使用 redis-cli 命令,连接redis服务端
连接服务后,使用 info replication 查看当前机器的角色
未配置前,三台redis均为 master主机
使用上面的方法,分别进入 redis-6379、redis-6380、redis-6381容器内部,并连接redis服务端
分别在redis-6380和redis-6381使用 SLAVEOF 172.17.0.2 6379 命令
在redis-6379 使用 info replication 命令,验证主从关系是否配置成功

这样,redis的集群环境就搭建好了,本机测试无问题,这里就不演示了。为了保证redis集群的高可用,下面开始配置redis哨兵模式。
Redis哨兵模式
配置Redis哨兵
Redis哨兵配置,有两种方案
方案一:基于现有的3台Redis容器服务,互相启动一个Redis哨兵
方案二:重新再启动3台Redis容器服务,分别启动一个Redis哨兵
方案二会额外的新增3个Redis容器服务,所以这里演示方案一
分别进入3台Redis容器内部,执行以下操作
首先,进入Docker容器内部
使用 docker exec -ti 容器ID /bin/bash 分别进入三个Redis容器
然后,编写Redis哨兵配置文件
使用 cd / 命令,进入根目录
使用touch sentinel.conf命令,创建哨兵配置文件
在进行编辑时,需要先安装vim,命令为apt-get update ,apt-get install vim
使用 vim 命令编辑 sentinel.conf 文件,
添加以下内容
sentinel monitor host6379 172.17.0.2 6379 1
最后,启动Redis哨兵
使用redis-sentinel /sentinel.conf启动Redis哨兵监控
使用ps –ef |grep redis命令,可以看到redis-server和redis-sentinel正在运行
至此,哨兵模式配置完毕。
利用Docker搭建Redis集群的更多相关文章
- docker搭建redis集群
一.简介 docker作为一个容器技术,在搭建资源隔离性服务上具有很大的优势,在一台服务器上可以启动多个docker容器,感觉每个在容器里面部署的服务就像是部署在不同的服务器上.此次基于docker以 ...
- docker搭建redis集群和Sentinel,实现故障转移
0.引言 公司开发需要用到redis,虽然有运维自动搭建,还是记录下如何搭建redis集群和Sentinel. 采用的是vagrant虚拟机+docker的方式进行搭建. 搭建思路: 首先是借鉴下其他 ...
- Docker:Docker搭建Redis集群(6)
国外的公有云实在是太慢了,经常time out 这里搜集几个国内出名的: hub.c.163.com (网易:https://c.163.com/hub#/m/home/) dev.aliyun.co ...
- 利用docker部署redis集群
目录 一.首先配置redis.conf文件,... 1 1.获取配置文件... 1 2.修改各配置文件的参数... 2 二.下载redis镜像.启动容器... 2 1.创建网络... 2 2.拉取镜像 ...
- 5分钟实现用docker搭建Redis集群模式和哨兵模式
如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...
- ubuntu14.04环境下利用docker搭建solrCloud集群
在Ubuntu14.04操作系统的宿主机中,安装docker17.06.3,将宿主机的操作系统制作成docker基础镜像,之后使用自制的基础镜像在docker中启动3个容器,分配固定IP,再在3个容器 ...
- 使用docker搭建redis集群
创建网卡 docker network create redis --subnet 172.20.0.0/ --gateway 172.20.0.1 通过脚本创建6个redis配置 for i in ...
- docker 搭建 redis 集群(哨兵模式)
文件结构 1. redis-sentinel 1-1. docker-compose.yml 1-2. sentinel 1-2-1 docker-compose.yml 1-2-2 sentinel ...
- 基于Docker的redis集群搭建
Redis集群官方介绍:http://www.redis.cn/topics/cluster-tutorial.html 基于Docker搭建Redis集群 环境:6个节点,三主三从 制作Redis镜 ...
随机推荐
- Win8 Metro(C#)数字图像处理--2.68图像最小值滤波器
原文:Win8 Metro(C#)数字图像处理--2.68图像最小值滤波器 /// <summary> /// Min value filter. /// </summary> ...
- DataGridView 中发生以下异常: System.Exception: 是 不是 Decimal 的有效值。 ---> System.FormatException: 输入字符串的格式不正确。
其实之前我自己是没测出这个问题的,但是一放到测试的手上就出来了,原因我知道在哪里改输什么东西,但是人家不知道啊.报错如下: --------------------------- “DataGridV ...
- 零元学Expression Blend 4 - Chapter 11 用实例了解布局容器系列-「Border」
原文:零元学Expression Blend 4 - Chapter 11 用实例了解布局容器系列-「Border」 将教大家以实做案例认识Blend 4 的布局容器,此章介绍的布局容器是Blend ...
- .NET Core2.1项目在Linux上使用验证码报Unable to load shared library 'gdiplus' or one of its dependencies
-- ::, 线程ID:[] 日志级别:ERROR 出错类:WebApp.HttpGlobalExceptionFilter property:[(null)] - 错误描述:System.TypeI ...
- NFS服务设置
1.安装NFS服务sudo apt-get install nfs-common nfs-kernel-server 2.配置NFS服务首先需要手动编辑/etc/exports配置文件 权限参数说明如 ...
- 一个类的实例化对象所占空间的大小(对象大小= vptr(可能不止一个) + 所有非静态数据成员大小 + Aligin字节大小(依赖于不同的编译器))
注意不要说类的大小,是类的对象的大小. 首先,类的大小是什么?确切的说,类只是一个类型定义,它是没有大小可言的. 用sizeof运算符对一个类型名操作,得到的是具有该类型实体的大小. 如果 Class ...
- C#WinForm线程基类
在CS模式开发中一般我们需要用到大量的线程来处理比较耗时的操作,以防止界面假死带来不好的体验效果,下面我将我定义的线程基类给大家参考下,如有问题欢迎指正. 基类代码 #region 方法有返回值 // ...
- Homebrew 1.0.0 发布,MacOS 上的包管理器,比如安装qt5keychain
神器,没有它不知道怎么用macos https://www.oschina.net/news/77367/homebrew-1-0-0 Mac OS X用户,qt5keychain可以使用homebr ...
- 梭子鱼VS多备份 虽殊途却同归
备份,对于企业来说,不仅是一个已经拥有多年历史的传统IT工作,还关系着企业自身的生死存亡.在云计算时代下,备份业务成为企业的必选项,已经成为云计算服务最为热门的领域之一.基于云的备份正在深刻改变着备份 ...
- 35+个实用jQuery菜单插件
应用jQuery菜单插件可以让浏览者在浏览你的网页时获得最好的动态导航.jQuery是一个轻量级.跨浏览器的JavaScript框架(库),效果非常给力,它强调并简化了JavaScript.CSS和H ...