docker redis4.0 集群(cluster)搭建
Posted coding是一种爱好,知识需要系统学习
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker redis4.0 集群(cluster)搭建相关的知识,希望对你有一定的参考价值。
一、安装docker、ruby环境
#安装所需的软件包 yum install -y yum-utils device-mapper-persistent-data lvm2 #设置稳定的存储库 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo #安装docker ce(docker社区版) yum install docker-ce #启动docker systemctl start docker #获取redis镜像(最新版为4.0.9) docker pull redis #在docker库获取ruby镜像 docker pull ruby
二、部署redis集群
#创建集群目录 mkdir /opt/redis-cluster cd /opt/redis-cluster #创建模板文件redis-cluster.tmpl,内容如下 port ${PORT} cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 10000 cluster-announce-ip 123.*.*.* cluster-announce-port ${PORT} cluster-announce-bus-port 1${PORT} appendonly yes #生成conf和data目标,并生成配置信息 for port in `seq 7000 7005`; do mkdir -p ./${port}/conf && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf && mkdir -p ./${port}/data; done #创建6个redis容器 for port in `seq 7000 7005`; do docker run -d -ti -p ${port}:${port} -p 1${port}:1${port} -v /opt/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /opt/redis-cluster/${port}/data:/data --restart always --name redis-${port} --net bridge -m 100M --memory-swap=100M --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf; done #通过启动ruby来实现集群 echo yes | docker run -i --rm --net bridge ruby sh -c ‘ gem install redis && wget http://download.redis.io/redis-stable/src/redis-trib.rb && ruby redis-trib.rb create --replicas 1 ‘"$(for port in `seq 7000 7005`; do echo -n "$(docker inspect --format ‘{{ (index .NetworkSettings.Networks "bridge").IPAddress }}‘ "redis-${port}")":${port} ‘ ‘ ; done)"
以上是关于docker redis4.0 集群(cluster)搭建的主要内容,如果未能解决你的问题,请参考以下文章