redis读写分离
- docker创建两个容器redis02 redis02,一主一从,实现读写分离
- docker自定义网络mynet
- 使用目录挂载,将redis持久化的数据备份到主机
- 修改redis01 redis02的配置文件(环境变量)
bitnami版本的redis镜像
- 支持主从集群
- 支持以环境变量的形式配置redis
自定义网络
docker network create mynet
主节点
docker run -d -p 6379:6379
-v /app/rd1:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=master
-e REDIS_PASSWORD=123456
–network mynet --name redis01
bitnami/redis
-v 挂载目录
-e 环境变量
–network 网络
–name 容器名
从节点
docker run -d -p 6380:6379
-v /app/rd2:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=slave
-e REDIS_MASTER_HOST=redis01
-e REDIS_MASTER_PORT_NUMBER=6379
-e REDIS_MASTER_PASSWORD=123456
-e REDIS_PASSWORD=123456
–network mynet --name redis02
bitnami/redis
启动失败
docker ps 无法看到redis01容器,因为没有起起来,使用docker ps -a
docker logs redis01 查看日志
发现是挂载目录没有权限
解决:chmod 777 /app/rd1
再次启动后,可以看到redis容器已经启动成功
验证
启动rdm,向master中新增一个key,看到key已经同步到salve中
参考:
https://www.bilibili.com/video/BV1Zn4y1X7AZ