Docker中搭建Redis集羣

參考大佬博文:https://www.cnblogs.com/answerThe/p/11307017.html

集羣屬於3+3=6;不然要報錯。
docker pull redis

在/home/redis-cluster目錄下操作:

docker network create redis-net    # 自定義網絡
docker network ls          # 查看網絡是否創建成功
docker network inspect redis-net  # 查看自定義網絡IP

創建文件redis-cluster.tmpl
【protected-mode no
port ${PORT}
daemonize no
appendonly yes
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 15000
cluster-announce-ip 172.18.0.${TEMP}
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}

創建文件:creatRedisCluster.sh並執行後tree ../redis-cluster查看目錄。
【for port in `seq 6379 6384`; do base=6377 && ip=$[port-base] mkdir -p ${port}/conf && PORT=${port} TEMP=${ip} envsubst < redis-cluster.tmpl > ${port}/conf/redis.conf && mkdir -p ${port}/data; done】

創建文件:creatDocker.sh
【for port in `seq 6379 6384`; do docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} --privileged=true -v /home/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /home/redis-cluster/${port}/data:/data --name redis-${port} --net redis-net --rm -d redis:latest redis-server /usr/local/etc/redis/redis.conf;done】

進入6379容器執行下面命令:
/usr/local/bin/redis-cli --cluster create 172.18.0.2:6379 172.18.0.3:6380 172.18.0.4:6381 172.18.0.5:6382 172.18.0.6:6383 172.18.0.7:6384 --cluster-replicas 1

測試:
##set
/usr/local/bin/redis-cli -c -h 127.18.0.2 -p 7001
set aaa 111
##get
docker exec -it redis-7002 /usr/local/bin/redis-cli -c -h 172.18.0.3 -p 7002
get aaa

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章