docker安装redis-cluster

本文详细介绍如何使用Docker搭建Redis集群,包括拉取Redis镜像、创建配置文件、启动容器及网络设置。通过脚本自动化生成配置文件和启动容器,实现六个节点的集群部署。

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

docker pull redis   拉redis镜像

mkdir -p /home/redis-cluster

vim redis-cluster.tmpl

port ${PORT}
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.2.88
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
appendonly yes
 

vim test.sh

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

如果出现envsubst: command not found

 yum install gettext

chmod +x test.sh && ./test.sh

生成六个redis所用的文件..包括配置和数据存放点

vim test1.sh

  for port in `seq 7001 7006`; do \
  docker run -d -ti -p ${port}:${port} -p 1${port}:1${port}\
  -v /home/redis-cluster/${port}/conf/redis.conf:/usr/local/etc/redis/redis.conf \
  -v /home/redis-cluster/${port}/data:/data \
  --restart always --name redis-${port}  \
  --sysctl net.core.somaxconn=1024 redis redis-server /usr/local/etc/redis/redis.conf; \
done
生成六个容器

 

iptables -I INPUT -p tcp --dport 7001-7006 -j ACCEPT开放端口

iptables -I INPUT -p tcp --dport 17001-17006 -j ACCEPT 开放集群连接端口

进入单个容器

docker exec -it  redis-7001 /bin/sh

redis-cli --cluster create 192.168.2.88:7001 192.168.2.88:7002 192.168.2.88:7003 192.168.2.88:7004 192.168.2.88:7005 192.168.2.88:7006

Docker Compose 是一种工具,它允许开发者通过简单的 YAML 文件定义并管理复杂的多容器应用服务,包括 Redis 集群。下面是如何使用 Docker Compose 来搭建 Redis Cluster 的基本步骤: 1. **创建 `docker-compose.yml`** 文件:这个文件会描述所有需要的服务(例如 Redis 节点),以及它们之间的网络配置。一个典型的配置可能如下所示: ```yaml version: '3' services: redis-node1: image: redis:alpine environment: - REDIS_CLUSTER_MYSELF=0 - REDIS_CLUSTER_PORT=7000 - REDIS_CLUSTER_ADDR=redis-node2:7000,redis-node3:7000 networks: - cluster-net redis-node2: image: redis:alpine environment: - REDIS_CLUSTER_MYSELF=1 - REDIS_CLUSTER_PORT=7001 - REDIS_CLUSTER_ADDR=redis-node1:7000,redis-node3:7000 networks: - cluster-net redis-node3: image: redis:alpine environment: - REDIS_CLUSTER_MYSELF=2 - REDIS_CLUSTER_PORT=7002 - REDIS_CLUSTER_ADDR=redis-node1:7000,redis-node2:7000 networks: - cluster-net networks: cluster-net: ``` 2. **启动集群**: 在项目根目录下运行 `docker-compose up`。这将会创建并启动指定的三个 Redis 节点,它们之间会自动建立连接形成一个 Redis 集群。 3. **验证集群状态**: 使用 Redis 客户端工具如 `redis-cli`, 连接到任意节点(比如 node1)并键入 `CLUSTER NODES`命令检查集群的状态。 4. **设置客户端连接**:如果你的应用需要连接到 Redis 集群,只需将集群地址(例如 `redis://<node1_ip>:7000`)作为配置传递给应用程序即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值