写点什么

redis+docker 构建主从环境

用户头像
小铨
关注
发布于: 2021 年 03 月 27 日
redis+docker构建主从环境


小铨,铨程互动科技创始人,诞生于 1994 年 7 月 24 日(农历),目前是一个码农,从事 PHP/GO 开发。一枚想让腾讯的马化腾,阿里巴巴的马云来挖我墙角的 90 后程序员。


前言

恰巧因为最近学习心爆棚,还有一些个人原因,想记录一些自个认为以后工作会需要的,并且容易混淆的知识点。有个前辈和我说过,现在面试基本都是考验性能和高可用,比如:性能优化的 mysql 的 redis 的,分布式缓存,分布式锁、多级缓存、缓存一致性、负载均衡。这里,我想先从 redis 章节开始记录,主要可能就是 redis 的主从复制,读写分离,分布式缓存,哨兵机制吧。


搭建两台 docker 的 redis 容器


>构建 docker 前,我们需要先了解 docker 的网络设置。基本命令啥的我就说了,后面可能会有补充章节来专门说 docker 的基本常用语法。


### 了解容器网络

Docker 安装后,默认会创建下面三种网络类型:

1)bridge:桥接网络:默认情况下启动的 Docker 容器,都是使用 bridge,Docker 安装时创建的桥接网络,每次 Docker 容器重启时,会按照顺序获取对应的 IP 地址,这个就导致重启 下,Docker 的 IP 地址就变了

2)none:无指定网络:无指定网络 使用 --network=none ,docker 容器就不会分配局域网的 IP

3)host: 主机网络:主机网络 使用 --network=host,此时,Docker 容器的网络会附属在主机上,两者是互通的。 例如,在容器中运行一个 Web 服务,监听 8080 端口,则主 机的 8080 端口就会自动映射到容器中


- 查看网络详情


docker network inspect bridge
复制代码

- 创建网络(当有多个独立的 container 之间需要彼此访问时,推荐使用自建 bridge 网络)


docker network create --driver bridge my-network
复制代码

### 准备相关文件

Dockerfile文件

主节点reids-conf文件

从节点reids-conf文件

开始部署

- 预先分配好宿主机的主从文件目录

- 集群节点规划

|容器名称 | 容器 IP 地址 |映射端口号|宿主机 IP 地址 |

|--|--|--|--|--|

| Redis-master | 192.160.1.2 | 6380 -> 6379 |106.52.210.90 | |

| Redis-slave| 192.160.1.3 | 6381 -> 6379 |106.52.210.90 | |

- 搭建命令

 master:docker run -itd -v /www/wwwroot/redis/dockerTest/redis/master:/usr/src/redis -p 6380:6379 --network=wuhequan --ip=192.160.1.2 --name redis-master redis
复制代码


 slave:docker run -itd -v /www/wwwroot/redis/dockerTest/redis/slave:/usr/src/redis -p 6381:6379 --network=wuhequan --ip=192.160.1.3 --name redis-slave redis
复制代码


- 构建完成后,就可以进入从容器,连接 master 主开始主从备份

- 进入容器 :docker exec -it redis-master bash

- 输入密码:redis-cli -a 123456

- 因为前面映射文件夹里面的 redis.conf 配置了密码:

  • 配置主连接


外网:slaveof 106.52.210.90 6380
复制代码


内网:slaveof 192.160.1.3 6379` (一般不用内网去连接)
复制代码


>注释:这里一旦复制,就开始从主节点那边全部复制过了,如果从节点有旧数据,会先清空从节点服务器数据。


发布于: 2021 年 03 月 27 日阅读数: 11
用户头像

小铨

关注

小铨,铨程互动科技创始人 2021.03.26 加入

诞生于1994年7月24日(农历)目前是一个码农,从事PHP/GO开发。一枚想让腾讯的马化腾,阿里巴巴的马云来挖我墙角的90后程序员。

评论

发布
暂无评论
redis+docker构建主从环境