Docker 中快速构建 Redis Cluster 集群的详细过程

 更新时间:2024年05月08日 09:17:56   作者:带篮子~  
Redis Cluster 集群模式提供了数据分区和高可用性,通过分布式方式存储和管理数据,实现更高的扩展性,本指南将演示如何使用 Docker 快速构建一个包含 3 个节点的 Redis Cluster 集群,感兴趣的朋友一起看看

前言

Redis 是一个高性能的键值对数据库,常被用作缓存、消息队列等用途。Redis Cluster 集群模式提供了数据分区和高可用性,通过分布式方式存储和管理数据,实现更高的扩展性。本指南将演示如何使用 Docker 快速构建一个包含 3 个节点的 Redis Cluster 集群。

环境准备

所需软件

  • Docker:确保已安装 Docker,版本最好在 19.03.0 或以上。
  • redis-cli:用于操作 Redis 集群,可以从 Redis 官方获取。

配置网络

为了让 Docker 容器之间能够互相通信,我们需要创建一个自定义网络:

docker network create redis-cluster

这将创建一个名为 redis-cluster 的 Docker 网络。

构建 Redis Cluster 镜像

创建自定义 Dockerfile

我们需要在 Redis 镜像中添加用于配置集群的工具。创建一个目录并添加以下 Dockerfile:

# 文件:Dockerfile
FROM redis:7.0
RUN apt-get update && apt-get install -y --no-install-recommends \
    ruby-full \
    && gem install redis
COPY redis.conf /usr/local/etc/redis/redis.conf
CMD ["redis-server", "/usr/local/etc/redis/redis.conf"]

同时,在相同目录下创建 redis.conf 配置文件:

# 文件:redis.conf
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

构建镜像

在上述 Dockerfile 文件所在的目录执行以下命令:

docker build -t redis-cluster .

这将构建一个带有集群配置的自定义 Redis 镜像 redis-cluster

启动 Redis 节点容器

启动命令

我们将使用上面创建的网络 redis-cluster 和自定义镜像 redis-cluster,分别启动 3 个 Redis 实例:

docker run -d --name redis-node1 --net redis-cluster -p 7001:6379 redis-cluster
docker run -d --name redis-node2 --net redis-cluster -p 7002:6379 redis-cluster
docker run -d --name redis-node3 --net redis-cluster -p 7003:6379 redis-cluster

此时我们已经启动了 3 个 Redis 实例,各自映射到主机的 700170027003 端口。

配置 Redis Cluster 集群

创建 Redis 集群

使用容器中的 redis-cli 工具配置 Redis Cluster 集群:

docker exec -it redis-node1 redis-cli --cluster create \
  172.18.0.2:6379 \
  172.18.0.3:6379 \
  172.18.0.4:6379 \
  --cluster-replicas 0

其中 172.18.0.X 是各个 Redis 容器的内部 IP 地址。可以使用以下命令获取 IP 地址:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-node1
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-node2
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis-node3

验证集群状态

要验证集群是否正常工作,请使用 redis-cli 连接到其中一个节点并运行 cluster info 命令:

docker exec -it redis-node1 redis-cli -c -p 6379 cluster info

或者直接使用以下命令查看每个节点的状态:

docker exec -it redis-node1 redis-cli -c -p 6379 cluster nodes

总结

准备环境、构建自定义镜像、启动 Redis 节点到配置集群,搭建了一个 3 节点的 Redis Cluster 集群。通过集群的分布式特性,可以获得更高的性能和可扩展性。

到此这篇关于Docker 中快速构建 Redis Cluster 集群的文章就介绍到这了,更多相关Docker Redis Cluster 集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker-compose之基本语法解读

    docker-compose之基本语法解读

    这篇文章主要介绍了docker-compose之基本语法解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 在Linux Docker中部署RStudio Server实现远程访问的操作

    在Linux Docker中部署RStudio Server实现远程访问的操作

    下面介绍在Linux docker中安装RStudio Server并结合cpolar内网穿透工具,实现远程访问,docker方式安装可以避免很多问题,一键安装,如设备没有安装docker,需提前安装docker,对 Docker部署RStudio Server相关知识感兴趣的朋友一起看看吧
    2023-12-12
  • .NET 6 从0到1使用Docker部署至Linux环境超详细教程

    .NET 6 从0到1使用Docker部署至Linux环境超详细教程

    这篇文章主要介绍了.NET 6 从0到1使用Docker部署至Linux环境,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 如何给一个正在运行的Docker容器动态添加Volume

    如何给一个正在运行的Docker容器动态添加Volume

    这篇文章主要介绍了如何给一个正在运行的Docker容器动态添加Volume,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Vulhub漏洞靶场搭建图文教程

    Vulhub漏洞靶场搭建图文教程

    这篇文章主要介绍了Vulhub漏洞靶场搭建图文教程,本文图文讲解全流程安装搭建过程,简单易懂,需要的朋友可以参考下
    2023-03-03
  • Docker镜像保存为文件及从文件导入镜像的方法

    Docker镜像保存为文件及从文件导入镜像的方法

    本篇文章主要介绍了Docker镜像保存为文件及从文件导入镜像的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • docker 可用镜像服务地址的使用(亲测可用)

    docker 可用镜像服务地址的使用(亲测可用)

    Docker可用的镜像服务地址通常指的是Docker镜像仓库的地址,用于拉取和推送镜像,本文就来介绍了docker 可用镜像服务地址的使用,感兴趣的可以了解一下
    2024-10-10
  • docker安装kong网关的方法示例

    docker安装kong网关的方法示例

    这篇文章主要介绍了docker安装kong网关的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 详解docker API管理接口增加CA安全认证

    详解docker API管理接口增加CA安全认证

    这篇文章主要介绍了docker API管理接口增加CA安全认证,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • 详解docker下的Mysql镜像的使用方法

    详解docker下的Mysql镜像的使用方法

    本篇文章主要介绍了详解docker下的Mysql镜像的使用方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论