美文网首页Docker&Kubernetes
Docker compose 快速构建redis-cluster

Docker compose 快速构建redis-cluster

作者: 灬臣独秀灬 | 来源:发表于2021-03-21 00:07 被阅读0次

    前言:本环境为虚拟机搭建作为本地开发的redis-cluster 环境

    (1)、软件说明:

    1、redis 版本为 5.0.12
    2、docker network 为host 模式
    3、redis.sh 借助脚本动态配置redis端口
    4、redis.conf 配置redis 集群
    5、Dockerfile 制作自定义的redis 镜像
    6、docker-compose 一键启动/卸载/重启 集群环境

    (2)修改 redis.conf

      protected-mode no
      port $REDIS_PORT  # 这里很重要,变量脚本会读取环境变量替换成配置的port
      appendonly yes
      cluster-enabled yes
      cluster-config-file nodes-6379.conf
      protected‐mode no
    

    (3)编写 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
    CMD ["/./start.sh"]
    
    

    (4)编写 redis.sh 脚本

    sed -i 's/$REDIS_PORT/'+$REDIS_PORT+'/g' /usr/local/etc/redis/redis.conf
    redis-server /usr/local/etc/redis/redis.conf
    

    (5)编写 docker-compose.yml脚本

    version: '3.8'
    services:
      redis-7000:
        image: redis-cluster:latest # 注意这里的版本号 是自己构建docker 镜像版本
        container_name: redis-7000
        environment:
          - REDIS_PORT=7000
        network_mode: host
        privileged: true
    
      redis-7001:
        image: redis-cluster:latest
        container_name: redis-7001
        network_mode: host
        environment:
          - REDIS_PORT=7001
        privileged: true
        
      redis-7002:
        image: redis-cluster:latest
        network_mode: host
        container_name: redis-7002
        environment:
          - REDIS_PORT=7002
        privileged: true
    
      redis-7003:
        image: redis-cluster:latest
        container_name: redis-7003
        network_mode: host
        environment:
          - REDIS_PORT=7003
        privileged: true
    
      redis-7004:
        image: redis-cluster:latest
        container_name: redis-7004
        network_mode: host
        environment:
          - REDIS_PORT=7004
        privileged: true
    
      redis-7005:
        image: redis-cluster:latest
        container_name: redis-7005
        network_mode: host
        privileged: true
        environment:
          - REDIS_PORT=7005
    

    (6)所有文件上传服务器

    image.png

    (7)依次执行命令

    1 、docker build -t redis-cluster . # 构建redis 镜像 , 注意命令后面有个小数点,表示当前目录查找Dockerfile
    2、docker-compose up -d
    3、docker run -it --rm redis:5.0.12 redis-cli -h 192.168.137.132 -p 7000 --cluster create 192.168.137.132:7000 192.168.137.132:7001 192.168.137.132:7002 192.168.137.132:7003 192.168.137.132:7004 192.168.137.132:7005 --cluster-replicas 1 # 启动集群,注意改成自己的虚拟机的ip
    4、查看集群信息 docker run -it --rm redis:5.0.12 redis-cli -h 192.168.137.132 -p 7000 info replication

    (验证集群)

    image.png

    转载注明出处

    相关文章

      网友评论

        本文标题:Docker compose 快速构建redis-cluster

        本文链接:https://www.haomeiwen.com/subject/luwgcltx.html