redis3.2集群搭建cluster模式,ruby
集群结构:
6个节点,一主一备,三个主节点,三个从节点
1.单个redis的配置
1.1 创建redis的Dockerfile
FROM redis:3.2
MAINTAINER fanzlENV REDIS_HOME /usr/local
RUN mkdir $REDIS_HOME/conf
WORKDIR $REDIS_HOME/conf## 创建一个redis.conf文件,打开集群相关配置,默认端口不写的话为6379
RUN echo "cluster-enabled yes" > redis.conf
RUN echo "cluster-config-file nodes_6379.conf" >> redis.conf## 初始化容器时启动redis实例
CMD ["redis-server","/usr/local/conf/redis.conf"]
1.2 创建镜像
docker build -t fanzl/redis-cluster .
1.3 创建容器
docker run -d --name redis1 -v /home/dockerFile/redis1/:/usr/local/conf --net=host fanzl/redis-cluster
1.4 检查redis实例运行:
docker ps
可以看到docker容器的redis实例已经起来了,进入容器:
docker exec -it redis1 /bin/bash
进入容器后:
redis-cli -p 6379
出现命令行提示:127.0.0.1:6379>
大功告成!
2.创建6个实例
注意端口-v映射的目录新建你们的配置文件,在redis.conf中修改端口号
3.集群create
3.1 下载redis.tar.gz,由于我宿主机下载不下来,所以选择本地下载放到宿主机上,放在与Dockerfile同级目录下,Dockerfile文件:
下载redis.tar.gz
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
Dockerfile:
FROM ruby:2.2.5
MAINTAINER fanzlRUN gem install redis
ADD ./redis-3.2.5.tar.gz /usr/local
RUN cd /usr/local && ln -s redis-3.2.5 redis
3.1创建镜像
docker build -t fanzl/ruby_redis .
3.2 创建容器并进入配置
docker run -it fanzl/ruby_redis /bin/bash
配置集群
/usr/local/redis/src/redis-trib.rb create --replicas 1 \
IP:6379 IP:6380 IP:6381 \
IP:6382 IP:6383 IP:6384
会看到 “Can I set the above configuration” 输入yes,集群创建完成。
4.验证集群创建
进入其中一个节点:
docker exec -it redis53 /bin/bash
输入:
redis-cli -c -p 6379
输入:
cluster info
cluster nodes
显示集群信息,集群搭建成功!
插个数据看看: