基于docker的redis集群
1.使用docker-compose创建6个docker容器
2.在宿主机中编写docker-compose,yml(内容在流程后面)
3.在宿主机中创建挂载6个容器的目录
a.每个目录霞再分别创建conf,data,log三个目录
b.config目录下创建redis.conf(内容在流程后面)
c.在log目录项创建空文件:node.conf和redis.log
4.在包含docker-compose,yml的目录下运行docker compose up -d
5.进入每个docker容器并分别运行:/usr/local/bin/redis-server /redis/conf/redis.conf
6.随机在进入一个容器并运行:redis-cli --cluster create 172.18.0.8:6320 172.18.0.9:6321 172.18.0.10:6322 172.18.0.11:6323 172.18.0.12:6324 172.18.0.13:6325 --cluster-replicas 1
7.登录reids(redis-cli),运行cluster nodes,可以查看主从信息
redis.conf:
bind 0.0.0.0
cluster-enabled yes
cluster-config-file "/redis/log/nodes.conf"
cluster-node-timeout 5000
protected-mode no
port 6320 #不同的容器端口不一样
dir "/redis/data"
logfile "/redis/log/redis.log"
daemonize no
pidfile /var/run/redis_6320.pid #不同的容器端口不一样
appendonly yes
docker-compose.yml:
services:redis_200:image: redisnetworks:redis-network:ipv4_address: 172.18.0.8container_name: redis_cluster_200ports:- "6320:6379"- "16320:16379"volumes:- /redis_cluster/200:/redisredis_201:image: redisnetworks:redis-network:ipv4_address: 172.18.0.9container_name: redis_cluster_201ports:- "6321:6379"- "16321:16379"volumes:- /redis_cluster/201:/redisredis_202:image: redisnetworks:redis-network:ipv4_address: 172.18.0.10container_name: redis_cluster_202ports:- "6322:6379"- "16322:16379"volumes:- /redis_cluster/202:/redisredis_203:image: redisnetworks:redis-network:ipv4_address: 172.18.0.11container_name: redis_cluster_203ports:- "6323:6379"- "16323:16379"volumes:- /redis_cluster/203:/redisredis_204:image: redisnetworks:redis-network:ipv4_address: 172.18.0.12container_name: redis_cluster_204ports:- "6324:6379"- "16324:16379"volumes:- /redis_cluster/204:/redisredis_205:image: redisnetworks:redis-network:ipv4_address: 172.18.0.13container_name: redis_cluster_205ports:- "6325:6379"- "16325:16379"volumes:- /redis_cluster/205:/redis
networks:redis-network:external:true