redis版本:5.0.3(官方鏡像)
官方推薦3master3slaver
1.新建/data{1,6}六個(gè)空文件文件夾潜索,redis.conf 文件藏斩,start鏡像運(yùn)行腳本
image.png
如圖上的/data文件夾內(nèi)的文件是運(yùn)行后自動(dòng)生成的,當(dāng)前不需要處理惨险。
redis.conf內(nèi)容:
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
requirepass 123456
密碼可以不用;start.sh 內(nèi)容如下:
docker run --rm --name redi -p 6379:6379 \
-p 16379:16379 \
-v \$PWD/data:/data \
-v $PWD/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
docker run --rm --name redi1 -p 6380:6379 \
-p 16380:16379 \
-v $PWD/redis.conf:/usr/local/etc/redis/redis.conf \
-v $PWD/data1:/data \
-d redis redis-server /usr/local/etc/redis/redis.conf
docker run --rm --name redi2 -p 6381:6379 \
-p 16381:16379 \
-v $PWD/data2:/data \
-v $PWD/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
docker run --rm --name redi3 -p 6382:6379 \
-p 16382:16379 \
-v $PWD/data3:/data \
-v $PWD/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
docker run --rm --name redi4 -p 6383:6379 \
-p 16383:16379 \
-v $PWD/data4:/data \
-v $PWD/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
docker run --rm --name redi5 -p 6384:6379 \
-p 16384:16379 \
-v $PWD/data5:/data \
-v $PWD/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
運(yùn)行docker ps 看下是不是正常啟動(dòng)了食呻,正常啟動(dòng)后運(yùn)行docker exec -it redi bash
進(jìn)入容器內(nèi)部:redis-cli -a 123456 --cluster create 你的本機(jī)IP:6379 你的本機(jī)IP:6380 你的本機(jī)IP:6381 你的本機(jī)IP:6382 你的本機(jī)IP:6383 你的本機(jī)IP:6384 --cluster-replicas 1
這時(shí)候如果能夠返回"OK ALL 16384 slots covered"就表示處理好了
如果"waiting for the cluster to join ..."時(shí)間太長(zhǎng)的話催束,就CLTR+C打斷命令,輸入修復(fù)命令
redis-cli --cluster fix 你的IP:6379
redis-cli --cluster fix 你的IP:6380
redis-cli --cluster fix 你的IP:6381
redis-cli --cluster fix 你的IP:6382
redis-cli --cluster fix 你的IP:6383
redis-cli --cluster fix 你的IP:6384
等修復(fù)完成后就應(yīng)該可以了延蟹,在本地redis-cli連接然后進(jìn)行寫(xiě)操作看下
以上操作可能有冗余评矩,但我不想再排查了,it works了就不管