Clúster de Docker Redis

Clúster de Docker Redis

Crea una tarjeta de red

 docker network create netredis --subnet 172.38.0.0/16

Cree 6 configuraciones de redis a través de scripts

for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/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${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

Iniciar redis

 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 netredis --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 netredis --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 netredis --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 netredis --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 netredis --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 netredis --ip 172.38.0.16 redis:5.0.9-alpine3.11 redis-server  /etc/redis/redis.conf

Crea un clúster

Primero, ingrese un contenedor redis y luego conduzca el clúster

docker exec -it redis-1  /bin/sh
 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

Entrar en el clúster

 redis-cli  -c

Ver nodo

 cluster nodes

Inserte la descripción de la imagen aquí

prueba

Guardar datos

127.0.0.1:6379> set a   b

Inserte la descripción de la imagen aquí
Puede ver que los datos guardados a través de 172.38.0.13
y luego cerrar el servicio 172.38.0.13

docker stop 89c1b7ea7204

Inserte la descripción de la imagen aquí
Vuelva a ingresar al clúster para ver los datos que se acaban de guardar.
Inserte la descripción de la imagen aquí
172.38.0.13 también se ha detenido
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_45742032/article/details/111631396
Recomendado
Clasificación