您当前的位置: 首页 >  docker

庄小焱

暂无认证

  • 5浏览

    0关注

    805博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

docker——redis5.0构建的redis-cluster环境

庄小焱 发布时间:2022-09-23 14:49:33 ,浏览量:5

摘要

在大型的系统中数据库为整个系统的基础设施。在系统的设计中尤为重要,一般在大型的项目的中redis的配置都不是单点的。一般设计redis的高可用集群架构等。如果在生产环境中构建一个的这样的架构采用原生的安装配置方式比较复杂,本博文使用docker的方式来是生产环境下的redis高可用集群环境。帮助大家在生产环境中能够快速的获取redis集群的一种方式。

一、redis-cluster集群环境构建 1.1 环境配置准备
  • 1 安装docker(版本2.0 或者3.0)
  • 2 下载好redis5.0的镜像imaeg redis:5.0(版本) 其他版本有差别。
  • 3 配置好docker-compose
  • 4 配置构建的相关redis-cluster文件目录
1.2 redis-cluster的主从配置文件 1.2.1 修改 redis.conf
protected-mode no
daemonize no
port $REDIS_PORT
appendonly yes
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 15000
cluster-announce-ip 20.1.206.131 # 你的本机的ip
1.2.2 Dockerfile 
FROM redis:5.0.12
COPY redis.conf /usr/local/etc/redis/redis.conf
COPY start.sh /start.sh
RUN chmod 777 /start.sh
1.2.3 start.sh 
sed -i 's/$REDIS_PORT/'+$REDIS_PORT+'/g' /usr/local/etc/redis/redis.conf
1.2.4 docker-compose.yml
version: '2'

services:
  redis-9000:
    image: redis-cluster:latest
    container_name: redis-9000
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9000
    privileged: true

  redis-9001:
    image: redis-cluster:latest
    container_name: redis-9001
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9001
    privileged: true

  redis-9002:
    image: redis-cluster:latest
    container_name: redis-9002
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9002
    privileged: true

  redis-9003:
    image: redis-cluster:latest
    container_name: redis-9003
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9003
    privileged: true

  redis-9004:
    image: redis-cluster:latest
    container_name: redis-9004
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9004
    privileged: true

  redis-9005:
    image: redis-cluster:latest
    container_name: redis-9005
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9005
    privileged: true

  redis-9006:
    image: redis-cluster:latest
    container_name: redis-9006
    network_mode: host
    restart: always
    environment:
      - REDIS_PORT=9006
    privileged: true
1.3 redis-cluster的构建
1 、docker build -t redis-cluster . # 构建redis 镜像 , 注意命令后面有个小数点,表示当前目录查找Dockerfile

2、docker-compose up -d

# 启动集群,注意改成自己的虚拟机的ip
3、docker run -it --rm redis:5.0.12 redis-cli -h 本机ip -p 7000 --cluster create 本机ip:7000 本机ip:7001 本机ip:7002 本机ip:7003 本机ip:7004 本机ip:7005 --cluster-replicas 1 


4、查看集群信息 docker run -it --rm redis:5.0.12 redis-cli -h 本机ip -p 7000 info replication
1.4 验证集群

博文参考

https://www.jianshu.com/p/b050776b6049

关注
打赏
1657692713
查看更多评论
立即登录/注册

微信扫码登录

0.0413s