docker快速搭建redis-cluster集群

本文介绍了如何在Linux环境中使用Docker创建Redis集群。首先,通过docker search和docker pull下载Redis镜像。接着,创建集群所需的配置文件模板redis-cluster.tmpl,并初始化redis目录。然后,使用docker run命令创建容器,并配置集群。最后,通过redis-cli命令行工具完成集群的创建和验证。整个过程详细展示了每个步骤,适合初学者实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

redis集群有三种模式:

  1. 主从复制
  2. 哨兵模式
  3. cluster集群

环境提要:

  1. redis使用最新版本
  2. 下文中关于IP(192.168.56.101)为本地虚拟机地址,即宿主机地址。
  3. redis镜像网络使用host网络,如有不懂,请自行百度。

本文主要是创建redis-cluster模式集群

一、环境预备redis镜像

准备linux环境,安装好docker环境。

1. 查询redis镜像

docker search redis

在这里插入图片描述

2. 下载镜像

# 默认下载最新版
docker pull redis
# 指定版本
docker pull redis:3.0

也可以不主动下载,在docker run创建容器时,会被动下载最新版镜像。

二、创建集群

1.准备redis集群模板

1.1 创建自己预备好的文件目录

本文所有创建的文件夹基准路径均为:

/opt/tools/redis-cluster

以下提到的基准路径均为以上配置路径,如没有专门提出,则默认在该路径下执行。

1.2 创建redis集群模板文件

在基准路径下,创建redis-cluster.tmpl文件
文件内容:

# 端口
port ${PORT}
# 连接主服务的密码
masterauth 123456
# redis登录密码
requirepass 123456
# 开启集群模式
cluster-enabled yes
# 集群配置文件
cluster-config-file nodes.conf
# 连接超时时间
cluster-node-timeout 5000
# 连接的主机IP
cluster-announce-ip 192.168.56.101
# 集群的端口
cluster-announce-port ${PORT}
# 总线端口
cluster-announce-bus-port 1${PORT}
# 同步方式开启
appendonly yes

记得保存文件!!!

2.初始化redis目录

创建redis配置文件和数据目录:

for port in `seq 6381 6386`; do \
  mkdir -p ./${port}/conf \
  && PORT=${port} envsubst < ./redis-cluster.tmpl > ./${port}/conf/redis.conf \
  && mkdir -p ./${port}/data; \
done

创建成功后,进行查看

输入:tree
在这里插入图片描述

3.创建容器

执行以下命令,创建容器

for port in `seq 6381 6386`; do
     docker run -d --net=host -v /opt/tools/redis-cluster/${port}/conf/redis.conf:/etc/redis/redis.conf -v /root/redis-cluster/${port}/data:/data --restart always --name=redis-${port}  redis redis-server /etc/redis/redis.conf;
done

创建后,执行docker ps查看当前正在运行的容器:

在这里插入图片描述

4.集群配置

随机选择一个容器,进入:

docker exec -it redis-6381 bash

执行以下命令,配置集群:

redis-cli -a 123456 --cluster create 192.168.56.101:6381 192.168.56.101:6382 192.168.56.101:6383 192.168.56.101:6384 192.168.56.101:6385 192.168.56.101:6386 --cluster-replicas 1

连接redis服务端:

redis-cli -c -p 6381

进入redis后,进行验证:

auth 123456

查看集群配置:

cluster nodes

在这里插入图片描述

看到此图片时,则可以看到redis-cluster集群中,每个节点的主从角色。


总结

redis是有多种集群模式的,还是要根据项目的具体需求进行选择。
本文只是练手。docker网络可以做多种选择,比如桥接或新建docker网络均可。

本对多篇文章进行了参考。
文章链接:
https://www.cnblogs.com/xuchen0117/p/11678931.html
https://www.cnblogs.com/mrhelloworld/p/docker12.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值