Redis在Docker容器中快速搭建主从哨兵模式(master:1个 slave:2个 sentinel:3个 )
以下是一个简化的Docker Compose配置示例,用于快速搭建一个包含一个主节点、两个从节点和三个哨兵的Redis哨兵模式。
- 创建一个名为
docker-compose.yml
的文件,内容如下:
version: '3'
services:
redis-master:
image: redis:6.0
ports:
- "6379:6379"
command: redis-server --appendonly yes --port 6379
redis-slave-1:
image: redis:6.0
ports:
- "6380:6379"
command: redis-server --slaveof redis-master 6379 --appendonly yes --port 6380
redis-slave-2:
image: redis:6.0
ports:
- "6381:6379"
command: redis-server --slaveof redis-master 6379 --appendonly yes --port 6381
redis-sentinel-1:
image: redis:6.0
ports:
- "26379:26379"
command: redis-sentinel /etc/redis/sentinel.conf
environment:
- SENTINEL_DOWN_AFTER=5000
- SENTINEL_FAILOVER=5000
volumes:
- ./sentinel.conf:/etc/redis/sentinel.conf
redis-sentinel-2:
image: redis:6.0
ports:
- "26380:26379"
command: redis-sentinel /etc/redis/sentinel.conf
environment:
- SENTINEL_DOWN_AFTER=5000
- SENTINEL_FAILOVER=5000
volumes:
- ./sentinel.conf:/etc/redis/sentinel.conf
redis-sentinel-3:
image: redis:6.0
ports:
- "26381:26379"
command: redis-sentinel /etc/redis/sentinel.conf
environment:
- SENTINEL_DOWN_AFTER=5000
- SENTINEL_FAILOVER=5000
volumes:
- ./sentinel.conf:/etc/redis/sentinel.conf
- 同目录下创建一个名为
sentinel.conf
的文件,内容如下:
sentinel monitor mymaster redis-master 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 5000
sentinel parallel-syncs mymaster 1
- 在包含
docker-compose.yml
和sentinel.conf
文件的目录下运行以下命令来启动服务:
docker-compose up -d
这将会启动一个包含一个主节点、两个从节点和三个哨兵的Redis哨兵模式的环境。你可以通过 docker-compose down
命令停止并清理所有容器。
评论已关闭