Docker redis sentinel

1. 本示例基于Centos 7, 三台主机的ip分别为:

主机一:10.21.14.164

主机二:10.21.14.165

主机三:10.21.14.166

2. 主机上建立挂载目录和redis配置文件:

cd /app

mkdir -p redis/data

cd redis/data/

touch redis.conf

vi redis.conf

3. 主机一上的redis.conf配置信息如下:

logfile "redis.log"

port 6379

dir /data

appendonly yes

appendfilename appendonly.aof

4. 主机二、三上也同样建立挂载目录和redis配置文件,其内容稍有不同:

logfile "redis.log"

port 6379

dir /data

appendonly yes

appendfilename appendonly.aof

slaveof 10.21.14.164 6379

配置说明:

dir:工作目录

logfile:日志文件在工作目录下

slaveof:指明为主机一的从机

appendonly:是否需要持久化,yes为需要

5. 三台主机上都启动容器:

cd /app/redis/data

docker run -p 6379:6379 -v /app/redis/data/:/data --name redis -d redis:latest redis-server redis.conf

命令说明:

-p 6379:6379 : 将容器的6379端口映射到主机的6379端口

-v /app/redis/data:/data : 将主机中目录/app/redis/data挂载到容器的/data

--name redis: 给出容器名称

-d: 后台运行

redis:latest: 镜像名称

redis-server redis.conf: redis的启动命令,指定配置文件 


6. 主机上建立哨兵目录和其配置文件:

cd /app/redis/data

touch sentinel.conf

vi sentinel.conf

7. 三台主机上sentinel.conf的内容相同,如下:

logfile"sentinel.log"

sentinel monitor mymaster 10.21.14.164 6379 1

配置说明:

  logfile "sentinel.log":输出日志目录

  sentinel monitor mymaster 10.21.14.164 6379 1:哨兵监控的主服务器名称为mymaster,ip为10.21.14.164,端口为6379,将这个主服务器标记为失效至少需要2个哨兵进程的同意

8. 三台主机上启动哨兵模式:

docker run -p 26379:26379 -v /app/redis/data/:/data --name sentinel -d redis:latest redis-sentinel sentinel.conf

命令说明:

-p 26379:26379 : 将容器的26379端口映射到主机的26379端口

-v /app/redis/data:/data : 将主机中目录/app/redis/data挂载到容器的/data

--name sentinel: 给出容器名称

-d: 后台运行

redis:latest: 镜像名称

redis-sentinel sentinel.conf: sentinel的启动命令,指定配置文件 

经过这一步后,哨兵模式已经建立起来。可通过观察日志查看启动情况

你可能感兴趣的:(Docker redis sentinel)