docker簡單部署redis集群

2022-07-24 04:54:08 字數 2350 閱讀 3856

單機伺服器,使用docker 部署redis 集群

首先獲取redis映象,docker pull redis ,我直接使用最新版本的redis,如果需要某一版本,則可以docker pull redis:4.0.1

獲取成功後,可以通過docker images 檢視。

下面開始部署redis集群

首先新建配置 模板:

vi redis-cluster.tmpl

port $

masterauth 123456

requirepass 123456

cluster-enabled yes

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-announce-ip 172.17.40.1

cluster-announce-port $

cluster-announce-bus-port 1$

引數描述

(1)port(埠號)

(2)masterauth(設定集群節點間訪問密碼,跟下面一致

(3)requirepass(設定redis訪問密碼)

(4)cluster-enabled yes(啟動集群模式)

(5)cluster-config-file nodes.conf(集群節點資訊檔案)

(6)cluster-node-timeout 5000(redis節點宕機被發現的時間)

(7)cluster-announce-ip(集群節點的匯報ip,防止nat,預先填寫為閘道器ip後續需要手動修改配置檔案) ,單機直接使用 ifconfig  如下, 直接使用  172.17.40.1

docker0: flags=4099mtu 1500

inet 172.17.40.1 netmask 255.255.255.0 broadcast 0.0.0.0

ether 02:42:a5:3e:29:d8 txqueuelen 0 (ethernet)

rx packets 291 bytes 30756 (30.0 kib)

rx errors 0 dropped 0 overruns 0 frame 0

tx packets 215 bytes 13108 (12.8 kib)

tx errors 0 dropped 0 overruns 0 carrier 0 collisions 0

......

然後執行如下指令碼建立 配置檔案:

for port in `seq 7001 7006`; do \

mkdir -p ./$/conf \

&& port=$ envsubst < ./redis-cluster.tmpl > ./$/conf/redis.conf \

&& mkdir -p ./$/data; \

done

下面啟動docker redis 容器

for port in `seq 7001 7006`; do

docker run -d --net=host -v /usr/local/docker/config/$/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/config/$/data:/data --restart always --name=redis-$ redis redis-server /etc/redis/redis.conf;

done

建立完成可以,可以通過docker ps 檢視,進入其中乙個redis 容器: docker exec -it redis-7001 /bin/bash 

執行如下命令建立集群:

redis-cli -a 123456 --cluster create 172.17.40.1:7001 172.17.40.1:7002 172.17.40.1:7003 172.17.40.1:7004 172.17.40.1:7005 172.17.40.1:7006 --cluster-replicas 1
如下圖,建立集群成功。

可以連線某一節點,檢驗集群狀態:

七、檢查集群狀態

容器內驗證

執行此命令可以連線到某乙個redis服務:redis-cli -c -a 123456  -h 172.17.40.1  -p 7001  

進入某一容器,執行此命令,可以檢視集群主從詳情:redis-cli -a 123456 -c -p 7001 cluster nodes

Docker快速部署Redis

1 查詢docker hub上的redis映象 root wugenqiang redis docker search redis2 pull映象 root wugenqiang docker pull redis 3.2這裡我們拉取官方的映象,標籤為3.2 3 執行映象 命令說明 p 6379 6...

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集群

部署方式這裡沒有採用哨兵模式,而是使用 分片 高可用 負載均衡的模式,架構圖 至少啟動6個容器 建立網絡卡 docker network create redis subnet 192.168.0.0 16 通過指令碼建立6個redis配置 for port in seq 1 6 do mkdir ...