docker下创建redis集群步骤详解

 更新时间:2026年01月28日 09:15:46   作者:再战300年  
这篇文章介绍了如何在Docker环境下创建Redis集群的步骤,包括解决Redis镜像问题、配置国内加速、准备部署、创建配置文件、编写docker-compose.yml、执行部署命令、创建集群、验证集群和查看集群信息等,感兴趣的朋友跟随小编一起看看吧

首先要解决的问题是redis镜像的问题,如果因网络问题无法docker pull,就配置国内加速
创建文件

touch /etc/docker/daemon.json

写入内容

{
    "registry-mirrors": [
        "https://docker.1panel.live",
        "https://docker-0.unsee.tech",
        "https://docker.1panel.live",
        "https://registry.dockermirror.com",
        "https://docker.imgdb.de",
        "https://docker.m.daocloud.io",
        "https://hub.firefly.store",
        "https://hub.littlediary.cn",
        "https://hub.rat.dev",
        "https://dhub.kubesre.xyz",
        "https://cjie.eu.org",
        "https://docker.kejilion.pro",
        "https://docker.1panelproxy.com",
        "https://docker.hlmirror.com",
        "https://hub.fast360.xyz",
        "https://ghcr.io"
    ]
}

其次就开始准备着手部署redis集群
1、创建redis.conf,每个节点一个文件【redis1.conf,redis2.conf,redis3.conf,redis4.conf,redis5.conf,】,端口不能相同,conf文件内容如下,下方的注释要移除,不要在文件中体现,会报错

port 6379 
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
appendfsync everysec
requirepass 123456 #redis密码
masterauth 123456 #redis集群节点认证密码
maxmemory 1gb
maxmemory-policy allkeys-lru

2、创建好配置文件后,创建docker-compose.yml,内容如下,有需要调整的自行调整即可

version: "3.8"
services:
  redis-master1:
    image: redis:6-alpine
    container_name: redis-master1
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - "6379:6379"
      - "16379:16379"
    volumes:
      - ./redis.conf:/usr/local/etc/redis/redis.conf
      - ./redis-master1/data:/data
    command:
      - "redis-server"
      - "/usr/local/etc/redis/redis.conf"
  redis-master2:
    image: redis:6-alpine
    container_name: redis-master2
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - "6380:6380"
      - "16380:16380"
    volumes:
      - ./redis1.conf:/usr/local/etc/redis/redis.conf
      - ./redis-master2/data:/data
    command:
      - "redis-server"
      - "/usr/local/etc/redis/redis.conf"
  redis-master3:
    image: redis:6-alpine
    container_name: redis-master3
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - "6381:6381"
      - "16381:16381"
    volumes:
      - ./redis2.conf:/usr/local/etc/redis/redis.conf
      - ./redis-master3/data:/data
    command:
      - "redis-server"
      - "/usr/local/etc/redis/redis.conf"
  redis-slave1:
    image: redis:6-alpine
    container_name: redis-slave1
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - "6382:6382"
      - "16382:16382"
    volumes:
      - ./redis3.conf:/usr/local/etc/redis/redis.conf
      - ./redis-slave1/data:/data
    command:
      - "redis-server"
      - "/usr/local/etc/redis/redis.conf"
  redis-slave2:
    image: redis:6-alpine
    container_name: redis-slave2
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - "6383:6383"
      - "16383:16383"
    volumes:
      - ./redis4.conf:/usr/local/etc/redis/redis.conf
      - ./redis-slave2/data:/data
    command:
      - "redis-server"
      - "/usr/local/etc/redis/redis.conf"
  redis-slave3:
    image: redis:6-alpine
    container_name: redis-slave3
    environment:
      - "TZ=Asia/Shanghai"
    ports:
      - "6384:6384"
      - "16384:16384"
    volumes:
      - ./redis5.conf:/usr/local/etc/redis/redis.conf
      - ./redis-slave3/data:/data
    command:
      - "redis-server"
      - "/usr/local/etc/redis/redis.conf"

3、在docker-compose.yml文件所在文件夹下,同时redis.conf也要在该文件夹下,执行命令

docker-compose up -d

4、执行成功后,进入任意一个容器

docker exec -it redis-master1 sh

5、执行如下命令,创建集群。此处注意,各个节点的ip一定要保证能够在容器内与之通信,否则无法建立集群,如果有需要对网络调整的,在docker-compose.yml进行配置

redis-cli --cluster create 192.168.1.202:6379 192.168.1.202:6380 192.168.1.202:6381 192.168.1.202:6382 192.1681.202:6383 192.168.1.202:6384 --cluster-replicas 1 -a '123456'

6、集群创建成功,开始验证,在集群中的节点中输入命令

redis-cli -h 127.0.0.1 -p 6379

7、输入密码

AUTH default 123456

8、查看集群信息

cluster info

9、输出ok即可

到此这篇关于docker下创建redis集群方案的文章就介绍到这了,更多相关docker创建redis集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何修改Docker部署gitlab的外部访问地址和端口

    如何修改Docker部署gitlab的外部访问地址和端口

    这篇文章主要介绍了如何修改Docker部署gitlab的外部访问地址和端口问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • docker容器中文乱码的解决方法

    docker容器中文乱码的解决方法

    Docker默认不支持中文,在docker中部署Java运行环境,查看日志时都是乱码,下面这篇文章主要给大家介绍了关于docker容器中文乱码的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 为docker中的nginx配置https的方法步骤

    为docker中的nginx配置https的方法步骤

    这篇文章主要介绍了为docker中的nginx配置https的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • docker该如何删除已停止的容器

    docker该如何删除已停止的容器

    Docker是一个非常有趣的项目,容器是独立运行的一个或一组应用,及他们的运行环境,容器是Docker中的一个重要的概念,这篇文章主要给大家介绍了关于docker该如何删除已停止的容器的相关资料,需要的朋友可以参考下
    2023-05-05
  • Docker拉取镜像失败解决(connect: connection refused)

    Docker拉取镜像失败解决(connect: connection refused)

    最近遇到Docker拉取centos镜像时报错,本文主要介绍了Docker拉取镜像失败解决(connect: connection refused),具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • 解决Docker安装错误failure:repodata/repomd.xml from docker-ce-stable

    解决Docker安装错误failure:repodata/repomd.xml from docke

    在使用yum命令安装docker或其他工具时可能会遇到failure_repodata_repomd.xmlfromdocker-ce-stable_[Errno256]Nomoremirrorstotry的错误,原因可能是yum源配置问题,解决方法包括重置yum源,删除多余的repo文件
    2024-11-11
  • Docker端口暴露的几种方式

    Docker端口暴露的几种方式

    主要介绍了Docker端口暴露的几种方式,包括-p(--publish)、-P(--publish-all)和EXPOSE,具有一定的参考价值,感兴趣的可以了解一下
    2025-12-12
  • 详解docker中使用systemctl启动服务报错的解决办法

    详解docker中使用systemctl启动服务报错的解决办法

    这篇文章主要介绍了详解docker中使用systemctl启动服务报错的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • docker环境下数据库的备份(postgresql, mysql) 实例代码

    docker环境下数据库的备份(postgresql, mysql) 实例代码

    这篇文章主要介绍了docker环境下数据库的备份(postgresql, mysql) ,需要的朋友可以参考下
    2019-05-05
  • 使用Conda环境创建Docker镜像的完整步骤指南

    使用Conda环境创建Docker镜像的完整步骤指南

    Docker是实现容器化的主流工具之一,而Conda作为科学计算和Python的包管理器,与Docker的结合能为开发者提供高度灵活、易于管理的开发环境,这篇文章主要介绍了使用Conda环境创建Docker镜像的完整步骤,需要的朋友可以参考下
    2025-03-03

最新评论