首页 > 数据库 >Docker搭建Redis集群

Docker搭建Redis集群

时间:2024-03-07 21:11:06浏览次数:310  
标签:node -- Redis redis cluster 集群 conf Docker docker

一、创建Redis网络

docker network ls
docker network create redis --subnet 192.168.100.0/24
docker network inspect redis

二、创建Redis配置文件

for port in $(seq 1 6); \
do \
mkdir -p /docker-volume/redis-cluster/node-${port}/conf
touch /docker-volume/redis-cluster/node-${port}/conf/redis.conf
cat << EOF >/docker-volume/redis-cluster/node-${port}/conf/redis.conf 
port 6379
bind 0.0.0.0
cluster-enabled yes 
cluster-config-file nodes.conf 
cluster-node-timeout 5000 
cluster-announce-ip 192.168.100.1${port} 
cluster-announce-port 6379 
cluster-announce-bus-port 16379 
appendonly yes
EOF
done

三、启动Redis容器

# 第一个节点配置命令
docker run -p 6371:6379 -p 16371:16379 --name redis-01 \
-v /docker-volume/redis-cluster/node-1/data:/data \
-v /docker-volume/redis-cluster/node-1/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.100.11 --privileged=true  redis:6.0.8 redis-server /etc/redis/redis.conf 

# 第二个节点配置命令
docker run -p 6372:6379 -p 16372:16379 --name redis-02 \
-v /docker-volume/redis-cluster/node-2/data:/data \
-v /docker-volume/redis-cluster/node-2/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.100.12 --privileged=true  redis:6.0.8 redis-server /etc/redis/redis.conf 

# 第三个节点配置命令
docker run -p 6373:6379 -p 16373:16379 --name redis-03 \
-v /docker-volume/redis-cluster/node-3/data:/data \
-v /docker-volume/redis-cluster/node-3/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.100.13 --privileged=true  redis:6.0.8 redis-server /etc/redis/redis.conf

# 第四个节点配置命令
docker run -p 6374:6379 -p 16374:16379 --name redis-04 \
-v /docker-volume/redis-cluster/node-4/data:/data \
-v /docker-volume/redis-cluster/node-4/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.100.14 --privileged=true  redis:6.0.8 redis-server /etc/redis/redis.conf

# 第五个节点配置命令
docker run -p 6375:6379 -p 16375:16379 --name redis-05 \
-v /docker-volume/redis-cluster/node-5/data:/data \
-v /docker-volume/redis-cluster/node-5/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.100.15 --privileged=true  redis:6.0.8 redis-server /etc/redis/redis.conf

# 第六个节点配置命令
docker run -p 6376:6379 -p 16376:16379 --name redis-06 \
-v /docker-volume/redis-cluster/node-6/data:/data \
-v /docker-volume/redis-cluster/node-6/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.168.100.16 --privileged=true  redis:6.0.8 redis-server /etc/redis/redis.conf

四、创建Redis集群

docker exec -it redis-01 bash

redis-cli --cluster create 192.168.100.11:6379 192.168.100.12:6379 192.168.100.13:6379 192.168.100.14:6379 192.168.100.15:6379 192.168.100.16:6379 --cluster-replicas 1

五、查看Redis集群

# 进入集群
redis-cli -c

# 查看集群内节点
cluster nodes

 

【Docker】搭建部署Redis高可用集群实验

 

标签:node,--,Redis,redis,cluster,集群,conf,Docker,docker
From: https://www.cnblogs.com/Kevin-ZhangCG/p/18057625

相关文章

  • docker镜像分层概念
          ......
  • Redis之Redis7安装&卸载(Linux版)
    卸载##查看当前服务器是否安装redis及其版本redis-server-v##停止服务###停止单机上的单实例redis-cli-a9527shutdown###停止单机上的多实例的某一个实例redis-cli-a9527-p6379shutdown###查看是否停止完全ps-ef|grepredis##删除/usr/local/bin目......
  • docker https 的私有 registry 搭建与测试
     1.registry服务器上的配置#1.生成自签名证书mkdir-pcertsopensslreq-newkeyrsa:4096-nodes-sha256-keyoutcerts/domain.key-x509-days36500-outcerts/domain.crt#一路回车,等到CommonName(eg,yournameoryourserver'shostname)[]:时输入域......
  • Docker之Window图形界面(七)
    前言前面介绍docker基本都是以控制台命令行为主,但是对于不太熟悉命令行的人来说,确实有点麻烦。再者控制台很多配置虽然能够配置,对于我们长期使用图形界面开发者来看,还是有界面比较容器上手。总的来说,Docker在Windows图形界面上的优势在于提供了直观、便捷和高效的管理和......
  • Docker使用docker-compose.yml文件(六)
    前言前面介绍的都是单个容器部署,对于多容器部署也是一个个部署。这里Docker开发了docker-compose.yml。它是一个YAML格式的文件,用于定义和运行多容器的Docker应用程序。它允许你使用单个命令来启动、停止和重启应用程序,以及管理应用程序依赖的服务。一、配置yml文件versio......
  • docker部署监控Prometheus+Grafana
    目录一、Prometheus简介二、Prometheus基本原理三、Prometheus架构图四、Prometheus特性五、Prometheus组件六、Prometheus服务发现七、部署环境八、部署主机九、部署Prometheus1、安装docker2、启动docker并设置开机自启3、下载镜像包4、创建prometheus挂载目录5、创建prometheus......
  • ARM平台实现Docker容器技术
    什么是Docker?(1)Docker的架构 Docker是一个开源的应用容器引擎,让开发者可打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,亦可实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。使用Docker,可像管理应用程序一样管理基础结构......
  • docker-compose部署单机clickhouse
    【转载:https://www.cnblogs.com/crow1840/p/17506884.html】1、创建clickhouse目录[root@localhostdocker]#lsgitlab_dockerjenkins_dockermysql_docker[root@localhostdocker]#mkdirclickhouse/conf-p2.创建docker-compose.yml[root@localhostclickhouse]#cat......
  • redis自学(12)用户空间和内核空间
    用户空间和内核空间服务器大多采用Linux系统,所以以Linux为例:任何Linux发行版,其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互。  用户应用是无法直接访问计算机硬件,只能访问内核,基于内核操作计算机硬件  为了避免用户应用导致冲突甚至内核崩溃,用户应......
  • 开源.NET8.0小项目伪微服务框架(分布式、EFCore、Redis、RabbitMQ、Mysql等)
    1、前言为什么说是伪微服务框架,常见微服务框架可能还包括服务容错、服务间的通信、服务追踪和监控、服务注册和发现等等,而我这里为了在使用中的更简单,将很多东西进行了简化或者省略了。年前到现在在开发一个新的小项目,刚好项目最初的很多功能是比较通用的,所以就想着将这些功能抽......