docker redis官方镜像没有redis.conf文件,可以选择挂载自己的redis.conf数据卷或者使用临时的命令,本文采用的是临时命令即redis重启后失效的方式
一、前言
redis主从关系的作用
- 读写分离——提高服务器读写负载能力
- 数据冗余——实现数据热备份
- 故障恢复——主节点出现问题,从节点提供服务
- 负载均衡——通过多从节点分担读负载,提高服务器的并发量
- 集群基石——哨兵和集群实施的基础
二、操作步骤
#docker拉取redis镜像
docker pull redis
#创建3个redis容器
docker run --name redis1 -p 8000:6379 -d redis
docker run --name redis2 -p 8001:6379 -d redis
docker run --name redis3 -p 8002:6379 -d redis
#进入redis容器内部 (可省略-p 6379)
docker exec -it redis2 redis-cli -p 6379
#开启主从关系(x.x.x.x为主机ip)
slaveof x.x.x.x 8000
#退出redis容器
quit
docker exec -it redis3 redis-cli -p 6379
slaveof x.x.x.x 8000
quit
#进入redis容器内部 (可省略-p 6379)
docker exec -it redis1 redis-cli -p 6379
#查看主从信息
info replication
#退出redis容器
quit
info replication结果显示redis1容器中有两个从节点
从节点进行写操作错误,显示从节点只能读
三、总结
docker的使用使得启动服务变得简单,可以使用docker来运行多个相同服务