当前位置:网站首页>docker部署redis集群

docker部署redis集群

2022-06-27 02:09:00 运维@小兵


一、创建redis_cluster网桥

docker network create redis_cluster --subnet=172.38.1.0/24 -o com.docker.network.bridge.name=redis_cluster
ifconfig redis_cluster

在这里插入图片描述

二、启动六个容器

两个容器为一组,一个master,一个slave,master挂掉,slave会成为master

for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/redis.conf port 6379 bind 0.0.0.0 cluster-enabled yes #启动集群模式 cluster-config-file nodes.conf #集群节点信息文件 cluster-node-timeout 5000 #redis节点宕机被发现的时间 cluster-announce-ip 172.38.1.1${port} #集群节点的汇报ip,防止nat,此处为docker容器IP cluster-announce-port 6379 #集群节点的汇报port,防止nat cluster-announce-bus-port 16379 #集群节点的汇报bus-port,防止nat appendonly yes #开启aof持久化 EOF
# 通过脚本一次启动6个redis容器
docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \
-v /mydata/redis/node-${port}/data:/data \
-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis_cluster --ip 172.38.1.1${port} redis:6.0 redis-server /etc/redis/redis.conf
done

三、创建集群

docker exec -it redis-1 bash
redis-cli --cluster create 172.38.1.11:6379 172.38.1.12:6379 172.38.1.13:6379 172.38.1.14:6379 172.38.1.15:6379 172.38.1.16:6379 --cluster-replicas 1
redis-cli -c	#进入集群
cluster info	#查看集群信息

在这里插入图片描述

cluster nodes

在这里插入图片描述

四、卸载集群

for port in $(seq 1 6); do docker rm -f redis-${port}; done
rm -rf /mydata/redis

五、参考文章

Docker部署Redis集群

原网站

版权声明
本文为[运维@小兵]所创,转载请带上原文链接,感谢
https://anqixiang.blog.csdn.net/article/details/125444610