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: redis
networks:
redis-network:
ipv4_address: 172.18.0.8
container_name: redis_cluster_200
ports:
- "6320:6379"
- "16320:16379"
volumes:
- /redis_cluster/200:/redis
redis_201:
image: redis
networks:
redis-network:
ipv4_address: 172.18.0.9
container_name: redis_cluster_201
ports:
- "6321:6379"
- "16321:16379"
volumes:
- /redis_cluster/201:/redis
redis_202:
image: redis
networks:
redis-network:
ipv4_address: 172.18.0.10
container_name: redis_cluster_202
ports:
- "6322:6379"
- "16322:16379"
volumes:
- /redis_cluster/202:/redis
redis_203:
image: redis
networks:
redis-network:
ipv4_address: 172.18.0.11
container_name: redis_cluster_203
ports:
- "6323:6379"
- "16323:16379"
volumes:
- /redis_cluster/203:/redis
redis_204:
image: redis
networks:
redis-network:
ipv4_address: 172.18.0.12
container_name: redis_cluster_204
ports:
- "6324:6379"
- "16324:16379"
volumes:
- /redis_cluster/204:/redis
redis_205:
image: redis
networks:
redis-network:
ipv4_address: 172.18.0.13
container_name: redis_cluster_205
ports:
- "6325:6379"
- "16325:16379"
volumes:
- /redis_cluster/205:/redis
networks:
redis-network:
external:
true