部署方式這裡沒有採用哨兵模式,而是使用 分片+高可用+負載均衡的模式,架構圖 ,至少啟動6個容器建立網絡卡
docker network create redis --subnet 192.168.0.0/16
通過指令碼建立6個redis配置
for port in
$(seq 1 6)
; \do \
mkdir -p /mydata/redis/node-$/conf
touch /mydata/redis/node-$/conf/redis.conf
cat<< eof >/mydata/redis/node-$/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.0.1$
cluster-announce-port 6379
cluster-announce-bus-port 16379
eofdone
docker run -p 637$:6379 -p 1637$:16379 --name redis-$\
-v /mydata/redis/node-$/data:/data \
-v /mydata/redis/node-$/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.0.1$ redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf; \
docker run -p 6371:6379 -p 16371:16379 --name redis-1 \
-v /mydata/redis/node-1/data:/data \
-v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf;
docker run -p 6372:6379 -p 16372:16379 --name redis-2 -v /mydata/redis/node-2/data:/data -v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 192.168.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf;
docker run -p 6373:6379 -p 16373:16379 --name redis-3 -v /mydata/redis/node-3/data:/data -v /mydata/redis/node-3/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 192.168.0.13 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf;
docker run -p 6374:6379 -p 16374:16379 --name redis-4 -v /mydata/redis/node-4/data:/data -v /mydata/redis/node-4/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 192.168.0.14 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf;
docker run -p 6375:6379 -p 16375:16379 --name redis-5 -v /mydata/redis/node-5/data:/data -v /mydata/redis/node-5/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 192.168.0.15 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf;
docker run -p 6376:6379 -p 16376:16379 --name redis-6 -v /mydata/redis/node-6/data:/data -v /mydata/redis/node-6/conf/redis.conf:/etc/redis/redis.conf -d --net redis --ip 192.168.0.16 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf;
建立集群
redis-cli --cluster create 192.168.0.11:6379 192.168.0.12:6379 192.168.0.13:6379 192.168.0.14:6379 192.168.0.15:6379 192.168.0.16:6379 --cluster-replicas 1
進入到某個redis docker容器中執行4的命令,會出現下列資訊,說明集群已經建立成功
在redis的docker容器中,執行redis-cli -c 進入到命令列,到此部署就完成了。接下來你可以隨便停乙個redis容器,可以測試一下高可用。
Docker部署Redis集群
centos系統docker部署3主3從redis集群 docker pull redis 6.0.5 alpine密碼為redis2020pass,可自行修改 vi redis cluster.tmplport protected mode no cluster enabled yes clust...
利用docker部署redis集群
目錄 一 首先配置redis.conf檔案,1 1 獲取配置檔案.1 2 修改各配置檔案的引數.2 1 建立網路.2 2 拉取映象並啟動容器.2 三 設定redis集群.3 1 安裝ruby.3 2 安裝redis cluster的ruby介面,並啟動集群.3 3 測試.3 redis集群的安裝 版...
docker簡單部署redis集群
單機伺服器,使用docker 部署redis 集群 首先獲取redis映象,docker pull redis 我直接使用最新版本的redis,如果需要某一版本,則可以docker pull redis 4.0.1 獲取成功後,可以通過docker images 檢視。下面開始部署redis集群 首...