docker搭建redis集群(3主機3從機)

2021-10-20 18:18:02 字數 4285 閱讀 3845

普通版

docker run --name redis -p 6379

:6379

1.建立網絡卡

docker network create redis --subnet 172.38

.0.0

/16

通過

docker network ls
可以看見

檢視詳細資訊

docker network inspect redis
建立集群

for port in $(seq 16)

; \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 172.38

.0.1$

cluster-announce-port 6379

cluster-announce-bus-port 16379

eofdone

檢視可以看見個節點已經出現

檢視配置檔案, 發現已經寫完

啟動6個服務

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 172.38

.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 172.38

.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 172.38

.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 172.38

.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 172.38

.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 172.38

.0.16 redis:

5.0.9

-alpine3.

11 redis-server /etc/redis/redis.conf

進入乙個集群

建立集群

redis-cli --cluster create 172.38

.0.11

:6379

172.38

.0.12

:6379

172.38

.0.13

:6379

172.38

.0.14

:6379

172.38

.0.15

:6379

172.38

.0.16

:6379

--cluster-replicas 1

選擇的時候輸入yes

連線集群

redis-cli -c
測試

是13 這個主機來存

我們把13這個主機停了

再去get a 就會在14這個從機get到這個值

檢視詳細資訊

這裡寫了 13這個主機掛了 14來代替

docker搭建redis集群

拉取映象 docker pull redis 5.0.2拉取成功 檢視剛剛拉取的映象 建立容器 這裡建立3個容器,注意修改下面的 的名字及對應的埠 docker create name redis node01 net host v data redis data node01 data redis...

docker 快速搭建 redis 集群

git 專案位址 docker redis cluster 快速建立redis集群 使用 安裝docker和docker composegit clone 到本地 git clone git github.com gekkoou docker redis cluster.git 執行命令 cd do...

基於Docker的Redis集群搭建

部署redis集群,該集群有3個節點 docker create name redis node01 restart always net host v redis node01 data redis cluster enabled yes cluster config file nodes nod...