基于Docker搭建Redis集群(步骤超级简单,图文详解)
基于Docker搭建Redis集群1 创建文件夹 以及进入文件夹2 创建Redis镜像添加内容3 下载Redis.gz包,`注意:到此步骤才需要Redis的安装包`,上面的操作不需要4 创建打开ruby镜像添加内容4 启动Redis节点5 查看Redos节点IP地址6 启动并打开ruby容器7 ruby容器内输入8 到此Redis集群已经配置成功了!!!最近项目需要Redis集群在这里插入代码片.
·
基于Docker搭建Redis集群
最近项目需要Redis集群
在这里插入代码片
,找了无数份文档没有一个清晰的,算了自己研究研究打一个清晰的文档
按照Redis官网的建议,至少是3主3从,所以,我们要准备6个Redis节点来搭建Redis集群。
1 创建文件夹 以及进入文件夹
#创建文件夹 以及进入文件夹
mkdir /opt/dockerapp
cd /opt/dockerapp
2 创建Redis镜像添加内容
#1. 创建打开dockerfile:
vi dockerfile
#2. dockerfile文件添加内容:
FROM redis:4.0.1
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN mkdir /usr/local/etc/redis && chown redis:redis /usr/local/etc/redis
ENV REDIS_C=/usr/local/etc/redis
RUN echo "port 6379" > $REDIS_C/redis.conf
RUN echo "bind 0.0.0.0" > $REDIS_C/redis.conf
RUN echo "cluster-enabled yes" >> $REDIS_C/redis.conf
RUN echo "cluster-config-file nodes.conf" >> $REDIS_C/redis.conf
RUN echo "cluster-node-timeout 5000" >> $REDIS_C/redis.conf
RUN echo "appendonly yes" >> $REDIS_C/redis.conf
CMD [ "redis-server", "/usr/local/etc/redis/redis.conf" ]
#3. 制作Redis镜像:
docker build -f dockerfile -t jiang/redis-cluster:4.0.1 .
3 下载Redis.gz包,注意:到此步骤才需要Redis的安装包
,上面的操作不需要
链接:https://pan.baidu.com/s/1wvWLGFA2SR9wvMzXjxRCNQ
提取码:h7pp
下载到本地在上传到Linux上去
4 创建打开ruby镜像添加内容
#1. 创建打开dockerfile2:
vi dockerfile2
#2. dockerfile2文件添加内容:
FROM ruby:2.4
RUN gem install redis
ADD ./redis-4.0.1.tar.gz /opt/dockerapp
RUN cd /opt/dockerapp && ln -sf redis-4.0.1 redis
3. 制作Ruby镜像:
docker build -f dockerfile2 -t jiang/my_ruby:2.4 .
注意,这里的路径要对应第三步的压缩包
4 启动Redis节点
docker run --name redis6000 -p 6000:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6001 -p 6001:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6002 -p 6002:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6003 -p 6003:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6004 -p 6004:6379 -d jiang/redis-cluster:4.0.1
docker run --name redis6005 -p 6005:6379 -d jiang/redis-cluster:4.0.1
5 查看Redos节点IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6000
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6001
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6002
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6003
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6004
docker inspect --format='{{.NetworkSettings.IPAddress}}' redis6005
6 启动并打开ruby容器
docker run -it jiang/my_ruby:2.4 /bin/bash
7 ruby容器内输入
/opt/dockerapp/redis/src/redis-trib.rb create --replicas 1 172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379 172.17.0.9:6379
注意:/opt/dockerapp/redis/src/redis-trib.rb
,这里的路径也要对应第四步的配置路径
注意:172.17.0.4:6379 172.17.0.5:6379 172.17.0.6:6379 172.17.0.7:6379 172.17.0.8:6379 172.17.0.9:6379
,这里对应第五步查询的IP地址
接着在输入:yes
出现下面显示说明集群创建成功:
8 到此Redis集群已经配置成功了!!!
随便进入一个节点查看
#输入查看容器命令:
docker ps
#再进入容器:
docker exec -it 容器id bash
#连接容器内的Redis:
redis-cli
#输入检查集群命令:
cluster info
非常简单,
我拿RedisDesktopManager工具连接一下看看
Redis集群已经成功!!!
更多推荐
已为社区贡献6条内容
所有评论(0)