Bash는 Docker를 사용하여 Redis 클러스터를 시작합니다.
#!/bin/sh
set -e
# get accessible docker bridge's IP
DOCKER_BRIDGE_IP=$(docker network inspect bridge | jq ".[0].IPAM.Config[0].Gateway" -r)
PORT_PREFIX="1700"
nodes=""
# create redis configuration for each node
for i in $(seq 1 6);do
cat <<EOF > "/tmp/$i-redis.conf"
port $PORT_PREFIX$i
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
bind 0.0.0.0
cluster-announce-ip $DOCKER_BRIDGE_IP
cluster-announce-port $PORT_PREFIX$i
EOF
# stop and remove existing redis
docker container stop "myredis-$i" || true
docker container rm "myredis-$i" || true
# start new redis node containers
docker run -v "/tmp/$i-redis.conf":/usr/local/etc/redis/redis.conf -d \
--net=host --name "myredis-$i" redis:alpine3.15 redis-server /usr/local/etc/redis/redis.conf
nodes="$DOCKER_BRIDGE_IP:$PORT_PREFIX$i $nodes"
done
# create cluster from existing containers
yes | docker container exec myredis-1 redis-cli --cluster create $nodes --cluster-replicas 1
printf "\n\n=> redis nodes:"
for node in $nodes; do
echo "$node"
done
Reference
이 문제에 관하여(Bash는 Docker를 사용하여 Redis 클러스터를 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/clavinjune/bash-initiate-redis-cluster-using-docker-1l5m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)