Docker配置redis主从配置

1.拉取docker镜像

docker ps -a

docker运行redis指定redis config docker redis 配置_vim


由此可见 只有一个redis 主配置

2.配置两个从配置
docker run -name slave -p 6380:6379 -d redis
docker run --name slave1 -p 6381:6379 -d redis

3.再次查看docker镜像
docker ps -a

docker运行redis指定redis config docker redis 配置_redis_02


4.测试容器

docker运行redis指定redis config docker redis 配置_docker_03


5.开始集群配置

5.1先查看主配置的ip地址
docker inspect 872a7feaa6fd

docker运行redis指定redis config docker redis 配置_docker_04


IP地址:

“IPAddress”: “172.17.0.2”

5.2进入容器内部 查看redis角色是主还是从

docker运行redis指定redis config docker redis 配置_vim_05


目前还是mester状态

5.3、使用redis-cli命令修改redis-6380、redis-6381的主机为172.17.0.1:6379

docker运行redis指定redis config docker redis 配置_vim_06


docker运行redis指定redis config docker redis 配置_docker_07

5.4、查看redis-6379是否已经拥有2个从机

docker运行redis指定redis config docker redis 配置_docker_08


由此可见 connected_slaves:2

是的

5.5、配置Sentinel哨兵

进入3台redis容器内部进行配置,在容器根目录里面创建sentinel.conf文件

文件内容为:sentinel monitor mymaster 172.17.0.2 6379 1

docker运行redis指定redis config docker redis 配置_vim_09

出现bash: vim: command not found

解决:1、apt-get update 2、apt-get install vim

最后,启动Redis哨兵:

docker运行redis指定redis config docker redis 配置_redis_10

6.测试

6.1打开多个窗口

docker运行redis指定redis config docker redis 配置_vim_11


6.2关闭主配置

docker stop 872a7feaa6fd

查看其他两个是否选举成功

docker运行redis指定redis config docker redis 配置_docker_12

docker运行redis指定redis config docker redis 配置_redis_13

成功!!!!