docker.7z
一、Redis 镜像
拉取镜像
docker pull redis:4.0.14-alpine

注意事项:配置文件
redis.conf中的daemon一定不要配置为 yes 。保持默认的 “NO”。否则容器会闪退。
二、单节点 redis
略,直接通过官网能够得到结果
三、一主多从带哨兵部署
服务信息
网段:172.07.0.0/16
| 描述 | ip | 开放端口(宿主机/Docker) |
|---|---|---|
| Master节点 | 172.07.0.11 | 6379 / 6379 |
| slave1 | 172.07.0.12 | 6380 / 6379 |
| slave2 | 172.07.0.13 | 6381/ 6379 |
| sentinel1 | 172.07.0.21 | 26379 / 26379 |
| sentinel2 | 172.07.0.22 | 26380 / 26379 |
| sentinel3 | 172.07.0.23 | 26381 / 26379 |
相关构建信息目录

config-目录: 存放redis配置文件data-目录: 存放 redis 持久化数据docker-compose.yaml-文件: Docker-compose 文件redis-4.0.14.tar.gz-文件:Docker Redis 对应的 Redis 安装包,可以从其中获取redis.conf等配置文件原件
docker-compose.yaml 公共内容
公共的配置为:网络的配置
## docker-compose 版本号version: '2'## 网络networks:redis_net:driver: bridgeipam:config:- subnet: 172.07.0.0/16gateway: 172.07.0.1
Redis 节点相关信息
docker-compose.yaml 内容
master 节点 redis.conf 配置文件,主要配置
## 注释该行,允许其他主机访问该节点# bind 127.0.0.1## 监听端口port 6379## 开启 aof 持久化appendonly yes## Redis 链接密码requirepass 654321
slave 节点 redis.conf 配置文件,主要配置
## 注释该行,允许其他主机访问该节点# bind 127.0.0.1## 监听端口port 6379## 开启 aof 持久化appendonly yes## Redis 链接密码requirepass 654321## 配置 master 节点对应的 ip + portslaveof 172.07.0.11 6379## 配置 master 节点链接密码masterauth 654321
哨兵 节点相关信息
docker-compose.yaml 内容
sentinel 节点 sentinel.conf 配置文件,主要配置
## 监听端口port 26379## 监听的 master ip + port,当 2 个 sentinelsentinel monitor mymaster 172.7.0.11 6379 2## master 节点认证密码sentinel auth-pass mymaster 654321# master被当前sentinel实例认定为失效的间隔时间,格式为sentinel down-after-milliseconds <mastername> <milliseconds>sentinel down-after-milliseconds redisMaster 10000
测试-Redis主从复制
一主二从服务信息如下
数据简单测试
master 存入数据,slave 查看
测试-Redis高可用
下线 master 节点,查看集群信息
下线 redis-master 重新进行选举

下线 redis-master ,重新进行选举,redis-slave-1 上位成为 master
重新上线 redis-master
需要将 redis-master 以 slave 的方式加入到 新的主从结构中。
// TODO sentinel 测试
