服务器:Centos7
前提:selinux关掉
一,安装docker并配置镜像加速(我用的阿里加速)

[root@localhost ~]# yum -y install docker
[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# cat daemon.json
{"registry-mirrors": ["https://yol1de5p.mirror.aliyuncs.com"]
}
[root@localhost docker]# systemctl restart docker

二,拉取redis镜像

[root@localhost ~]# docker pull redis
[root@localhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/redis     latest              36304d3b4540        10 days ago         104 MB

三,运行redis-server容器并做持久化配置

[root@localhost ~]# mkdir /data
主:
[root@localhost ~]# docker run --name redis-master -d -p 6379:6379 -v /opt/redis-master:/data redis
俩从:
[root@localhost ~]# docker run --name redis-slave1 -d -p 6380:6379 -v /opt/redis-slave1:/data redis
[root@localhost ~]# docker run --name redis-slave2 -d -p 6381:6379 -v /opt/redis-slave2:/data redis[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
28e215ff4bc2        redis               "docker-entrypoint..."   21 seconds ago      Up 20 seconds       0.0.0.0:6381->6379/tcp   redis-slave2
7e579f3ec09c        redis               "docker-entrypoint..."   56 seconds ago      Up 56 seconds       0.0.0.0:6380->6379/tcp   redis-slave1
d7af410bffc3        redis               "docker-entrypoint..."   2 minutes ago       Up 2 minutes        0.0.0.0:6379->6379/tcp   redis-master

四,查看容器IP

[root@localhost ~]# docker inspect redis-master redis-slave1 redis-slave2 | grep IPAd"SecondaryIPAddresses": null,"IPAddress": "172.17.0.2","IPAddress": "172.17.0.2","SecondaryIPAddresses": null,"IPAddress": "172.17.0.3","IPAddress": "172.17.0.3","SecondaryIPAddresses": null,"IPAddress": "172.17.0.4","IPAddress": "172.17.0.4",

注:这里记住主的IP:172.17.0.2

五,配置redis集群,一主两从
我们将redis-master配置为主,redis-slave1和redis-slave2配置为从
登录从redis-slave1

[root@localhost ~]# docker exec -it redis-slave1 redis-cli
127.0.0.1:6379> SLAVEOF 172.17.0.2 6379
OK
127.0.0.1:6379> ROLE
1) "slave"
2) "172.17.0.2"
3) (integer) 6379
4) "connected"
5) (integer) 14

登录从redis-slave2

[root@localhost ~]# docker exec -it redis-slave2 redis-cli
127.0.0.1:6379> SLAVEOF 172.17.0.2 6379
OK
127.0.0.1:6379> ROLE
1) "slave"
2) "172.17.0.2"
3) (integer) 6379
4) "connected"
5) (integer) 112

登录主redis-master查看主从情况

[root@localhost ~]# docker exec -it redis-master redis-cli
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.17.0.3,port=6379,state=online,offset=252,lag=0
slave1:ip=172.17.0.4,port=6379,state=online,offset=252,lag=1

六,验证主从是否集群成功

[root@localhost ~]# docker exec -it redis-master redis-cli
127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> exit
[root@localhost ~]# docker exec -it redis-slave1 redis-cli
127.0.0.1:6379> get name
"tom"
127.0.0.1:6379> exit
[root@localhost ~]# docker exec -it redis-slave2 redis-cli
127.0.0.1:6379> get name
"tom"
127.0.0.1:6379> 

docker搭建Redis的主从集群相关推荐

  1. docker搭建redis高可用集群

    目标:docker搭建redis高可用集群 1.架构:六个redis容器,三主三从,主从复制,主机宕机从机自动替代 2.网络架构设计:设计一个专属redis的docker网络 docker netwo ...

  2. Docker下Redis Cluster分片集群的搭建、基本操作、集群扩容和集群故障转移(非关系型数据库技术课程 第九周)

    文章目录 Docker 下Redis Cluster 分片集群搭建 1. Cluster 分片集群 1.1 Cluster 集群的结构和作用 1.2 Cluster 分片集群 的作用 1.3哈希槽(h ...

  3. Docker搭建MongoRocks副本分片集群(Docker Mongodb Rocksdb Replication Sharding)

    Docker搭建MongoRocks副本分片集群 准备 依赖 安装 下载镜像 基本单实例 带配置的单实例 权限配置 docker参数解释 启动命令 rocksdb配置解释 查看启动日志 连接测试 ov ...

  4. 基于 Docker 的 Redis 高可用集群搭建(redis-sentinel)

    前言   之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动升级为主库的,也就是说,该redis主从集群并非是高可用的. ...

  5. docker、docker-compose搭建redis哨兵,集群。

    目录 注意坑: Redisson整合哨兵模式的坑: 1. 安装docker和docker-compose 2. docker-compose搭建redis哨兵模式(一主二从二哨兵) 2.1启动redi ...

  6. docker搭建mongodb高可用集群

    docker搭建mongodb集群 参考资料: 基于 Docker 的 MongoDB 主从集群 http://www.imooc.com/article/details/id/258885 mong ...

  7. 分布式缓存——Redis高级彻底搞懂(Redis原理+主从+集群)

    -- 基于Redis集群解决单机Redis存在的问题 一.Redis持久化 Redis有两种持久化方案: RDB持久化 AOF持久化 1.RDB持久化 RDB全称Redis Database Back ...

  8. 使用Docker搭建Elasticsearch6.8.6集群及设置集群用户密码

    本文基于Docker镜像搭建Elasticsearch集群,集群搭建完成后设置集群用户密码,主要包含以下内容: 修改系统参数 安装docker和docker-compose 编写yml配置文件 获取集 ...

  9. 基于Docker-compose搭建Redis高可用集群-哨兵模式(Redis-Sentinel)

    我们知道,Redis的集群方案大致有三种:1)redis cluster集群方案:2)master/slave主从方案:3)哨兵模式来进行主从替换以及故障恢复. sentinel系统可以监视一个或者多 ...

最新文章

  1. “一次性”小家电之死:互联网必是杀手
  2. 计算机图形学Web前端笔记-定位并移动到指定坐标点(two.js理论及实现)
  3. 2017.9.14 棘手的操作 思考记录
  4. Linux—磁盘和文件系统管理(二)
  5. C++ 从入门到入土(English Version)Section4: Random numbers + machine code
  6. win10正常上网但是网络图标显示无连接,无法开启热点
  7. 条码打印软件制作UDI标签教程
  8. Gartner首发中国数据库市场指南,巨杉数据库代表数据库领域厂商入选
  9. 通王CMS采集-TWCMS文章采集-通王CMS关键词采集伪原创发布详解
  10. java 开根号函数_java如何开根号?
  11. Hi3519内核配置uart串口
  12. T156基于51单片机LCD12864指针时钟Proteus设计、keil程序、c语言、源码、ds1302,电子时钟,62256
  13. web网页设计期末课程大作业~超高仿英雄联盟LOL游戏官网设计与实现(HTML+CSS+JavaScript)
  14. D盘需要管理员权限解决办法
  15. Java编程笔记17:I/O
  16. 算法-动态规划-RNA最大碱基对匹配问题C语言求解
  17. 微信公众号定位用户所在位置
  18. 傅里叶级数、傅里叶变换、短时傅里叶变换 公式
  19. lib lib32 lib64等lib文件夹的说明
  20. 想在互联网上年入百万,必须具备这两种能力!

热门文章

  1. springboot+JPARepository实现增删改查
  2. win10下zookeeper的下载以及安装
  3. CXF发布RestFul WebService和SOAP WebService
  4. IConfiguration的命令行解析
  5. MongoDB C#:如何将包含DateTime的JSON反序列化为正确的BsonDocument DateTime值
  6. 内连级元素有哪些_行内元素和块级元素都有哪些
  7. cubemx stm32 配置两个串口_STM32CubeMX系列教程5:串行通信(USART)
  8. python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验
  9. python构造自定义数据包_pytorch中的自定义数据处理详解
  10. python写文件追加 按行追加_你真的会用python进行文件操作吗