docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker创建redis集群

docker下创建redis集群步骤详解

作者:再战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集群内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文