Linux使用docker搭建Redis 哨兵模式
以下是一个简化的解决方案,用于在Docker环境中搭建Redis哨兵模式。
首先,创建一个名为 docker-compose.yml
的文件,内容如下:
version: '3'
services:
redis-master:
image: redis:6.0.9
ports:
- "6379:6379"
redis-slave-1:
image: redis:6.0.9
command: redis-server --slaveof redis-master 6379
depends_on:
- redis-master
redis-slave-2:
image: redis:6.0.9
command: redis-server --slaveof redis-master 6379
depends_on:
- redis-master
redis-sentinel-1:
image: redis:6.0.9
command: redis-sentinel /etc/redis/sentinel.conf
volumes:
- ./sentinel.conf:/etc/redis/sentinel.conf
depends_on:
- redis-master
- redis-slave-1
- redis-slave-2
redis-sentinel-2:
image: redis:6.0.9
command: redis-sentinel /etc/redis/sentinel.conf
volumes:
- ./sentinel.conf:/etc/redis/sentinel.conf
depends_on:
- redis-master
- redis-slave-1
- redis-slave-2
然后,在同一目录下创建哨兵配置文件 sentinel.conf
,内容如下:
sentinel monitor mymaster redis-master 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
最后,通过以下命令启动服务:
docker-compose up -d
这将会启动一个主节点,两个从节点和两个哨兵。哨兵会监控主节点,并在主节点宕机时自动进行故障转移。
评论已关闭