docker部署Redis集群,主从集群搭建
程序员文章站
2022-04-22 10:51:01
...
注:本次是在同一主机的docker容器内,不同主机部署同理,集群redis的IP替换即可。适用于redis 5.0.0 以上,旧程序需要高版本的redis才能使用
1、docker 拉取 redis
docker search redis
docker pull redis
2、创建6个redis 容器和一个主容器(主要为创建集群使用)
此处需要指定docker的network进行容器互通
① docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5001-data:/data --name redis-5001 redis --port 5001 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
② docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5002-data:/data --name redis-5002 redis --port 5002 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
③ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5003-data:/data --name redis-5003 redis --port 5003 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
④ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5004-data:/data --name redis-5004 redis --port 5004 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
⑤ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5005-data:/data --name redis-5005 redis --port 5005 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
⑥ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5006-data:/data --name redis-5006 redis --port 5006 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
⑦ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5-cluster-data:/data --name redis-5-cluster redis --appendonly yes
成功如下图:
3、查看各个容器的CONTAINER ID
docker ps
4、查看容器对应的IP
docker inspect f81aa08ec4b6 3e1529d308da 7a7034bf5583 8606f1d7185c 46f7a1660ca4 3ad5d834f4c1 | grep IPA
5、进入 redis-5-cluster 容器,通过该容器创建集群
//indocker 进入容器,最下面有脚本
indocker redis-5-cluster
redis-cli --cluster create 10.0.0.3:5001 10.0.0.4:5002 10.0.0.5:5003 10.0.0.6:5004 10.0.0.7:5005 10.0.0.8:5006 --cluster-replicas 1
6、进入其中一个redis 查看集群情况
redis-cli -h 10.0.0.3 -p 5001 -c
cluster nodes
7、(indocker文件放到/bin下,可快速进入docker容器中)
#!/bin/sh
docker exec -it $1 sh
留个记录!
上一篇: C++学习笔记(多态性)
下一篇: HTML基础之标题、图像、链接、段落代码