码迷,mamicode.com
首页 > 其他好文 > 详细

docker redis4.0 集群(cluster)搭建

时间:2018-06-02 14:57:09      阅读:750      评论:0      收藏:0      [点我收藏+]

标签:add   always   容器   .so   ESS   down   cal   bsp   mkdir   

一、安装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)搭建

标签:add   always   容器   .so   ESS   down   cal   bsp   mkdir   

原文地址:https://www.cnblogs.com/fhwup/p/9125354.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!