Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Use redis-cli to create a Redis Cluster on Docker (with Redis 5.0)
#------------ bootstrap the cluster nodes --------------------
start_cmd='redis-server --port 6379 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 5000 --appendonly yes'
redis_image='redis:5.0-rc'
network_name='redis_cluster_net'
docker network create $network_name
echo $network_name " created"
#---------- create the cluster ------------------------
for port in `seq 6379 6384`; do \
docker run -d --name "redis-"$port -p $port:6379 --net $network_name $redis_image $start_cmd;
echo "created redis cluster node redis-"$port
done
cluster_hosts=''
for port in `seq 6379 6384`; do \
hostip=`docker inspect -f '{{(index .NetworkSettings.Networks "redis_cluster_net").IPAddress}}' "redis-"$port`;
echo "IP for cluster node redis-"$port "is" $hostip
cluster_hosts="$cluster_hosts$hostip:6379 ";
done
echo "cluster hosts "$cluster_hosts
echo "creating cluster...."
echo 'yes' | docker run -i --rm --net $network_name $redis_image redis-cli --cluster create $cluster_hosts --cluster-replicas 1;
@shinyzhu

This comment has been minimized.

Copy link

@shinyzhu shinyzhu commented Mar 3, 2019

Can NOT connect through cluster mode. Refer to the network limit: https://redis.io/topics/cluster-tutorial, a redis cluster in docker must be in host network.

@modernmonk-ey

This comment has been minimized.

Copy link

@modernmonk-ey modernmonk-ey commented Jul 17, 2019

Agree on @shinyzhu , I've read , but I've seen many blog post for dockerizing redis cluster

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.