1、首先开启三台虚拟机,分别安装dokcer
2、拉取镜像
docker pull redis
3、查看镜像
4、配置文件修改(提前准备好配置文件)
5、启动容器(三台机器分别执行)
docker run -d -p 6379:6379 --name redis --privileged=true -v /usr/local/redis/data:/data -v /usr/local/redis/redis.conf:/etc/redis/redis.conf redis redis-server /etc/redis/redis.conf
参数说明:
-v /usr/local/redis/data:/data ## 将容器里的数据挂载到宿主机、usr/local/redis/data目录下
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf ## 容器里的redis配置文件与/usr/local/redis/redis.conf下的配置文件互相通信,(前提准备好redis.conf),这样每次修改不用进入到容器里
redis-server /etc/redis/redis.conf ## 用指定容器里的目前启动redis
6、查看容器
docker ps
redis已经启动
7、进入容器
docker exec -it redis /bin/bash
7.1 登录容器
redis-cli
7.2 输入密码
7.3 验证是否成功
至此服务已正常启动
8、主从复制配置
8.1 主节点配置
8.2 从节点配置(其余一个节点一致)
9、重启容器服务
docker restart redis
10、信息查看
10.1 主节点信息
10.2 从节点信息
11、哨兵模式配置
11.1 下载配置文件
wget http://download.redis.io/redis-stable/sentinel.conf
11.2 启动哨兵模式容器
docker run -d --privileged=true --name sentinel -v /usr/local/redis/sentinel.conf/:/usr/local/etc/redis/sentinel.conf -p 26379:26379 redis:latest redis-sentinel /usr/local/etc/redis/sentinel.conf
11.3 编辑配置文件(3台机器一样,可通过远程复制命令进行复制)
scp sentinel.conf 192.168.111.146:/usr/local/redis/
11.4 故障演示,停掉主节点redis服务
docker stop redis
此时已经看到192.168.111.147成为主节点
11.5 重新启动主节点
docker restart redis
147主节点的从节点已变成两个,以前的主节点并不会重新夺回以前的主节点配置,而是成为新的主节点的从节点