docker部署Redis集群,主从集群搭建

快来打我* 2023-06-30 09:09 69阅读 0赞

注:本次是在同一主机的docker容器内,不同主机部署同理,集群redis的IP替换即可。适用于redis 5.0.0 以上,旧程序需要高版本的redis才能使用

1、docker 拉取 redis

  1. docker search redis
  2. docker pull redis

2、创建6个redis 容器和一个主容器(主要为创建集群使用)
此处需要指定docker的network进行容器互通

  1. ① docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5001-data:/data --name redis-5001 redis --port 5001 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
  2. ② docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5002-data:/data --name redis-5002 redis --port 5002 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
  3. ③ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5003-data:/data --name redis-5003 redis --port 5003 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
  4. ④ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5004-data:/data --name redis-5004 redis --port 5004 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
  5. ⑤ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5005-data:/data --name redis-5005 redis --port 5005 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
  6. ⑥ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5006-data:/data --name redis-5006 redis --port 5006 --cluster-enabled yes --cluster-config-file nodes.conf --cluster-node-timeout 30000 --appendonly yes
  7. ⑦ docker run -dit --network rdzn --restart always -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -v /data/programs/redis-cluster/redis-5-cluster-data:/data --name redis-5-cluster redis --appendonly yes

成功如下图:
在这里插入图片描述
3、查看各个容器的CONTAINER ID

  1. docker ps

在这里插入图片描述
4、查看容器对应的IP

  1. docker inspect f81aa08ec4b6 3e1529d308da 7a7034bf5583 8606f1d7185c 46f7a1660ca4 3ad5d834f4c1 | grep IPA

在这里插入图片描述
5、进入 redis-5-cluster 容器,通过该容器创建集群
//indocker 进入容器,最下面有脚本

  1. indocker redis-5-cluster
  2. redis-cli --cluster create 10.0.0.3:5001 10.0.0.4:5002 10.0.0.5:5003 10.0.0.6:5004 10.0.0.7:5005 10.0.0.8:5006 --cluster-replicas 1

在这里插入图片描述

6、进入其中一个redis 查看集群情况

  1. redis-cli -h 10.0.0.3 -p 5001 -c
  2. cluster nodes

在这里插入图片描述
7、(indocker文件放到/bin下,可快速进入docker容器中)

  1. #!/bin/sh
  2. docker exec -it $1 sh

留个记录!

发表评论

表情:
评论列表 (有 0 条评论,69人围观)

还没有评论,来说两句吧...

相关阅读

    相关 redis主从

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。[点击跳转到教程][Link 1] 编写脚本 !/bin/bash fo

    相关 Dockerredis

    Docker搭建redis 1. 前言 之前介绍了用docker来搭建redis主从环境,但这只是对数据添加了从库备份(主从复制),当主库down掉的时候,从库是不会自动

    相关 dockerredis

    Redis 集群介绍 1.RedisCluster: 官方推荐,没有中心节点 。(主节点不是中心节点) 2.Codis:360推出的,中间件产品,存在中心节点。 3.Tw