利用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镜 ...
随机推荐
- 什么是YAML?
YAML是"YAML不是一种标记语言"的外语缩写 [1] (见前方参考资料原文内容):但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名.它是一种直观的能 ...
- UWP应用使用SQLite库的方法
1.打开菜单“工具”-“扩展和更新”,选择“联机”选项,然后搜索“SQLite”,在搜索结果中找到“SQLite for Universal Windows Platform”,然后点击下载进行安装. ...
- C#高性能大容量SOCKET并发(六):超时Socket断开(守护线程)和心跳包
原文:C#高性能大容量SOCKET并发(六):超时Socket断开(守护线程)和心跳包 守护线程 在服务端版Socket编程需要处理长时间没有发送数据的Socket,需要在超时多长时间后断开连接,我们 ...
- .net EF Join 关联表分页查询
Join中第二个参数和第三个参数即为两张表关联对应的字段 第四个参数new 后面如果不写Model名,系统会自动生成带字段的list类型 IQueryable<Operator> oper ...
- Office Add-in Model 简介
原文地址:http://simpeng.net/office-add-in/office-add-in-model-%e7%ae%80%e4%bb%8b/ , 为了本博客内容的完整性,转载至此. Of ...
- Qt for Android之Hello World
Qt for Android (Hello World APK 创建)Qt是跨平台的,如桌面.移动.嵌入式平台.Qt for Android可以在Android v2.3.3 (API level 1 ...
- 在 .pro里加入 QMAKE_CXXFLAGS += /MP 将并行编译(VC),加快编译速度(姚冬的办法),或者-j4参数(MinGW)
但是只对VC编译器有效果. 另外还可以自己设置stdafx.h文件 http://www.zhihu.com/question/23045749 C:\Qt\Qt5.6.2_static\bin\qm ...
- 10个有趣的javascript和css库(2019年5月最新)
我们的使命是让您了解最新和最酷的Web开发趋势.这就是为什么我们每个月都会发布一些精选的资源,这些资源是我们偶然发现并认为值得您关注的. 1.Tessaract.js 强大的javascript(节点 ...
- 使用 Spring Boot Actuator 构建 RESTful Web 应用
Spring Boot Actuator 是 Spring Boot 的一个子项目.通过它,可以很轻易地为应用提供多种生产级服务.本教程中,你将通过构建一个应用来学习如何添加这些服务. 1. 你需要构 ...
- JavaScript 操作 DOM 总结
基本概念 DOM 是 JavaScript 操作网页的接口,全称为"文档对象模型"(Document Object Model).它的作用是将网页转为一个 JavaScript 对 ...