docker-搭建一主两备redis集群
一 目的
docker-搭建一主两备redis集群
概述:目前要搭建一个“一主两备”redis集群,这个三个容器中redis的端口号为默认的6379,对外暴露的端口为6701,6702,6703,其中6701为master。6702和6703为slave
二 实现
1. 准备三份配置文件
1.1 配置文件可从网上下载,下载后,可按该贴修改配置,https://www.cnblogs.com/qxAndWorld/p/17784703.html
1.2 随后,三份配置文件中添加配置
代码示例
slave-announce-ip 192.168.65.100 slave-announce-port 6701
2. 启动master
docker run --name redis1 \
-v /docker/redis/redis1.conf:/etc/redis/redis.conf \
-v /docker/redis/data/6701:/data \
-dp 6701:6379 \
redis:7.0 \
redis-server /etc/redis/redis.conf
注意
-v /docker/redis/data/6701:/data 挂载各redis持久化目录的数据卷要分开,比如端口6701的redis用6701目录,6702的用6702目录等,否则持久化文件写一块,乱掉了
3. 启动slave
在启动salve的命令中,要指定master
docker run --name redis2 \
-v /docker/redis/redis2.conf:/etc/redis/redis.conf \
-v /docker/redis/data/6702:/data \
-dp 6702:6379 \
redis:7.0 \
redis-server /etc/redis/redis.conf --slaveof 192.168.65.100 6701
同理,另外一个slave也是
docker run --name redis3 \
-v /docker/redis/redis3.conf:/etc/redis/redis.conf \
-v /docker/redis/data/6703:/data \
-dp 6703:6379 \
redis:7.0 \
redis-server /etc/redis/redis.conf --slaveof 192.168.65.100 6701
4. 查看关系
4.1 以下是当前运行的三个容器
4.2 查看master
docker exec -it redis1 redis-cli info replication
4.3 查看slave
5. 数据测试
在master写入数据,redis3,redis2可以读出数据