一、启动 redis-master
docker run -p 6379:6379 -v f:/Repository-Docker/redis/master-6379/data:/data -v f:/Repository-Docker/redis/master-6379/config/redis.conf:/etc/redis/redis.conf --privileged=true --name redis-master -d redis redis-server /etc/redis/redis.conf
docker run -p 6379:6379 \
-v f:/Repository-Docker/redis/master-6379/data:/data \
-v f:/Repository-Docker/redis/master-6379/config/redis.conf:/etc/redis/redis.conf \
--privileged=true \
--name redis-master \
-d redis redis-server /etc/redis/redis.conf
1、说明
- —name redis-master:容器的名字
2、redis.conf 配置文件
redis.conf.txt
二、启动 redis-slave
docker run -p 6380:6379 -v f:/Repository-Docker/redis/slave-6380/config/redis-6380.conf:/etc/redis/redis-6380.conf --name redis-slave-6380 -d --link redis-master redis redis-server /etc/redis/redis-6380.conf
docker run -p 6380:6379 \
-v f:/Repository-Docker/redis/slave-6380/config/redis-6380.conf:/etc/redis/redis-6380.conf \
--name redis-slave-6380 \
-d --link redis-master redis redis-server /etc/redis/redis-6380.conf
1、说明
- —link redis-master:建立与master节点之间的容器间的通信,可以在配置文件中使用容器名替换ip
2、redis-6380.conf 配置文件
redis-6380.conf.txt
# master节点配置 因为启动的时候指定了 --link 所以直接使用容器名
replicaof redis-master 6379
三、配置 Sentinel 哨兵
1、进入容器里面(每个 redis 容器都需要配置)
docker exec -it redis-master /bin/bash
2、创建 Sentinel 配置文件和日志文件
cd / && mkdir sentinel
cd /sentinel && touch sentinel.conf && touch log.txt
3、修改 sentinel.conf 配置
使用 cat 添加内容,以 EOF 结尾
cat >> ./sentinel.conf <<EOF
sentinel monitor mymaster redis-master 6379 1
#添加为后台运行
daemonize yes
#指定日志目录
logfile "/sentinel/log.txt"
4、启动哨兵
redis-sentinel sentinel.conf
5、查看日志
tail -f log.txt