一、搭建Redis集群
docker-compose.yml
version: '3.1'
services:
master:
image: redis:4.0.11
container_name: redis-master
command: redis-server --requirepass ifconfig
ports:
- 6379:6379
slave1:
image: redis:4.0.11
container_name: redis-slave-1
ports:
- 6380:6379
command: redis-server --slaveof redis-master 6379 --requirepass ifconfig --masterauth ifconfig
slave2:
image: redis:4.0.11
container_name: redis-slave-2
ports:
- 6381:6379
command: redis-server --slaveof redis-master 6379 --requirepass ifconfig --masterauth ifconfig
二、搭建哨兵集群
docker-compose.yml
version: '3.1'
services:
sentinel1:
image: redis:4.0.11
container_name: redis-sentinel-1
ports:
- 26379:26379
command: redis-sentinel /usr/local/etc/redis/sentinel.conf
volumes:
- /usr/local/app/redis/sentinel/sentinel1.conf:/usr/local/etc/redis/sentinel.conf
sentinel2:
image: redis:4.0.11
container_name: redis-sentinel-2
ports:
- 26380:26379
command: redis-sentinel /usr/local/etc/redis/sentinel.conf
volumes:
- /usr/local/app/redis/sentinel/sentinel2.conf:/usr/local/etc/redis/sentinel.conf
sentinel3:
image: redis:4.0.11
container_name: redis-sentinel-3
ports:
- 26381:26379
command: redis-sentinel /usr/local/etc/redis/sentinel.conf
volumes:
- /usr/local/app/redis/sentinel/sentinel3.conf:/usr/local/etc/redis/sentinel.conf
三、修改哨兵的配置文件
sentinel1.conf、sentinel2.conf、sentinel3.conf配置相同
port 26379
dir /tmp
## 监控127.0.0.1:6379的redis,最小投票数为2 注意端口需要开启,3个Redis,3个哨兵,一共6个端口都要开
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
## 设置mymaster密码,不想要的话可以再Redis配置里面删除密码配置,然后这里也删除
sentinel auth-pass mymaster ifconfig