redis版本:3.2.3
架構:
3節點redis集群,並為每個節點設置一個備用節點,共6個節點
1、安裝redis鏡像
docker load < docker.redis.tar.gz
2、創建網段
docker network create --subnet=172.19.0.0/16 net2
3、創建6節點的redis容器
docker run -it -d --name r1 -p 5001:6379 --net=net2 --ip 172.19.0.2 redis bash docker run -it -d --name r2 -p 5002:6379 --net=net2 --ip 172.19.0.3 redis bash docker run -it -d --name r3 -p 5003:6379 --net=net2 --ip 172.19.0.4 redis bash docker run -it -d --name r4 -p 5004:6379 --net=net2 --ip 172.19.0.5 redis bash docker run -it -d --name r5 -p 5005:6379 --net=net2 --ip 172.19.0.6 redis bash docker run -it -d --name r6 -p 5006:6379 --net=net2 --ip 172.19.0.7 redis bash
4、為6個節點redis修改配置文件,並啟動服務
#進入r1節點 docker exec -it r1 bash #修改配置文件 vi /usr/redis/redis.conf #需要修改以下內容: daemonize yes #后台進程運行 bind 0.0.0.0 #允許任意ip連接 cluster-enabled yes #開啟集群 cluster-config-file nodes.file #集群配置文件 cluster-node-timeout 15000 #超時時間 appendonly yes #開啟AOF日志模式 #啟動服務 cd /usr/redis/src ./redis-server ../redis.conf #查看服務是否啟動成功 ps -ef | grep redis
為其余5個節點依次完成以上操作
5、創建redis集群
#本鏡像中已安裝配置完成ruby環境,直接創建redis集群即可 #進入任一redis節點 docker exec -it r1 bash #創建一個文件夾 cd /usr/redis mkdir cluster cd src cp redis-trib.rb ../cluster/ cd ../cluster ./redis-trib.rb create --replicas 1 172.19.0.2:6379 172.19.0.3:6379 172.19.0.4:6379 172.19.0.5:6379 172.19.0.6:6379 172.19.0.7:6379 --replicas 1 表示前三個ip為3個主節點 ,后3個ip依次為各主節點的slave節點
6、進入redis集群中測試
cd /usr/redis/src ./redis-cli -c #-c表示進入集群
完成。