基于docker搭建redis集群

76 阅读1分钟

1、拉取redis官方镜像

docker pull redis:5.0.5

2、下载官方redis.conf文件并添加redis集群配置

修改redis.conf文件
cluster-enabled yes 打开集群模式  
cluster-config-file nodes-6379.conf 设定节点配置文件名  
cluster-node-timeout 15000 设定节点失联时间,超过该时间(毫秒),集群自动进行主从切换

3、基于下载的config文件创建六个容器

docker create -p 6379:6379 --name redis-node1 --net bridge -v /Users/kf/data/redis-data/node1:/data   redis:5.0.5  redis-server /data/redis.conf  
docker create -p 6380:6379 --name redis-node2 --net bridge -v /Users/kf/data/redis-data/node2:/data   redis:5.0.5  redis-server /data/redis.conf  
docker create -p 6381:6379 --name redis-node3 --net bridge -v /Users/kf/data/redis-data/node3:/data   redis:5.0.5  redis-server /data/redis.conf  
docker create -p 6382:6379 --name redis-node4 --net bridge -v /Users/kf/data/redis-data/node4:/data   redis:5.0.5  redis-server /data/redis.conf  
docker create -p 6383:6379 --name redis-node5 --net bridge -v /Users/kf/data/redis-data/node5:/data   redis:5.0.5  redis-server /data/redis.conf  
docker create -p 6384:6379 --name redis-node6 --net bridge -v /Users/kf/data/redis-data/node6:/data   redis:5.0.5  redis-server /data/redis.conf  

4、启动所有的redis容器

docker start redis-node1 redis-node2 redis-node3 redis-node4 redis-node5 redis-node6 

5、组件集群

# 这里以 redis-node1 实例为例
docker exec -it redis-node1 /bin/bash
# 组建集群,172.17.0.3为当前容器机的ip地址
# docker inspect 容器名  可查看当前容器信息
redis-cli --cluster create 172.17.0.3:6379 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379 --cluster-replicas 1

执行命令截图如下:

image.png

创建成功后可查看集群信息

root@CentOS7:/data# redis-cli
127.0.0.1:6379> cluster nodes

执行命令截图如下:

image.png