docker 完成 redis集群搭建

【Docker那些事】系列文章

docker 安装 与 卸载 centos
Dockerfile 文件结构、docker镜像构建过程详细介绍
Dockerfile文件中CMD指令与ENTRYPOINT指令的区别
构建Docker镜像指南,含实战案例
Docker 制作自定义化的Tomcat镜像
docker 安装 mysql 并映射数据库存放路径及配置文件
docker安装tomcat 映射配置文件、日志文件
docker安装nginx,配置nginx,并成功访问
docker安装redis并将配置文件和数据文件映射到外部
Docker 容器互联 --link 和 自定义网络
docker 完成 redis集群搭建

创建redis的docker网端

这里设置为172.11.0.0/16

docker network create --driver bridge --subnet 127.11.0.0/16 --gateway 172.11.0.1 redis-net

在这里插入图片描述

创建redis的配置文件

先创建shell脚本来生成redis配置文件

vim redis-node-config.sh

输入以下内容

#!/bin/bash

# 配置文件存放路径
BASE_PATH=/test/redis
# 创建个数
REDIS_COUNT=6
# ip前缀
REDIS_IP=172.11.0.1

for port in $(seq 1 $REDIS_COUNT); 
do 
mkdir -p $BASE_PATH/node-$port/conf
mkdir -p $BASE_PATH/node-$port/data
touch $BASE_PATH/node-$port/conf/redis.conf
cat <<EOF > $BASE_PATH/node-$port/conf/redis.conf
port 6379
# 生产环境中为了安全性请绑定当前机器的ip
bind 0.0.0.0 
# 启动集群模式    					
cluster-enabled yes                	
cluster-config-file nodes.conf
# redis节点宕机被发现的时间
cluster-node-timeout 5000			
cluster-announce-ip $REDIS_IP$port
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

赋予脚本可执行权限

chmod +x redis-node-config.sh

运行脚本创建配置文件

./redis-node-config.sh

查看脚本是否成功生成文件
在这里插入图片描述

脚本启动redis容器

创建启动脚本

vim redis-run.sh

输入以下内容

#!/bin/bash

# 配置文件存放路径
BASE_PATH=/test/redis
# 创建个数
REDIS_COUNT=6
# ip前缀
REDIS_IP=172.11.0.1

for port in $(seq 1 $REDIS_COUNT);
do
docker run -d  -p 637$port:6379 -p 1667$port:16379 \
--name redis-$port \
-v $BASE_PATH/node-$port/data:/data \
-v $BASE_PATH/node-$port/conf/redis.conf:/etc/redis/redis.conf \
--net redis-net \
--ip $REDIS_IP$port \
redis redis-server /etc/redis/redis.conf
done

赋予脚本可执行权限

chmod +x redis-run.sh

运行脚本启动redis容器

./redis-run.sh

在这里插入图片描述

开始搭建redis集群

# 进入其中一个容器
docker exec -it redis-1 /bin/bash
# 说明:--cluster :使用cluster的方式搭建集群 --cluster-replicas 1 :一个主机有一个从机
redis-cli --cluster create 172.11.0.11:6379 172.11.0.12:6379 172.11.0.13:6379 172.11.0.14:6379 172.11.0.15:6379 172.11.0.16:6379 --cluster-replicas 1

执行过程中需要输入一次yes
在这里插入图片描述

测试redis集群

# 进入redis-1容器
docker exec -it redis-1 /bin/bash
# -c:以集群方式启动
redis-cli -c
# 设置一个键值对
set name berbai01

这里显示是172.11.0.12上的redis处理了set
在这里插入图片描述

# 查看集群节点
cluster nodes

三主三从redis集群搭建成功,圈出来的为从机。
在这里插入图片描述
以上内容如有不对,请大家评论指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是 docker 安装 Redis 集群的步骤: 1. 首先,确保你已经安装了 DockerDocker Compose。 2. 创建一个名为 `redis` 的文件夹,并在该文件夹中创建一个名为 `docker-compose.yml` 的文件。 3. 在 `docker-compose.yml` 文件中添加以下内容: ``` version: '3' services: redis-1: image: redis ports: - "6379" volumes: - ./config/redis-1.conf:/usr/local/etc/redis/redis.conf command: ["redis-server", "/usr/local/etc/redis/redis.conf"] redis-2: image: redis ports: - "6380" volumes: - ./config/redis-2.conf:/usr/local/etc/redis/redis.conf command: ["redis-server", "/usr/local/etc/redis/redis.conf"] redis-3: image: redis ports: - "6381" volumes: - ./config/redis-3.conf:/usr/local/etc/redis/redis.conf command: ["redis-server", "/usr/local/etc/redis/redis.conf"] ``` 这个文件定义了一个 Redis 集群,包括三个节点,分别使用不同的端口号。 4. 创建一个名为 `config` 的文件夹,并在该文件夹中创建三个名为 `redis-1.conf`、`redis-2.conf` 和 `redis-3.conf` 的文件,分别添加以下内容: ``` bind 0.0.0.0 port 6379 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes ``` ``` bind 0.0.0.0 port 6380 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes ``` ``` bind 0.0.0.0 port 6381 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 appendonly yes ``` 这些文件配置了 Redis 节点的端口号、集群配置、节点超时时间等信息。 5. 在 `redis` 文件夹中运行以下命令来启动 Redis 集群: ``` docker-compose up -d ``` 这个命令将会启动 Redis 集群,并在后台运行。 6. 最后,可以使用以下命令检查 Redis 集群是否启动成功: ``` docker-compose ps ``` 如果一切正常,你应该能够看到三个正在运行的 Redis 节点。 这就是使用 Docker 安装 Redis 集群的步骤。希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鳄鱼儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值