zoukankan      html  css  js  c++  java
  • docker 搭建 redis 集群(哨兵模式)

    文件结构

    1. redis-sentinel

     1-1.  docker-compose.yml
    

    1-2. sentinel

       1-2-1 docker-compose.yml
       
      1-2-2 sentinel.conf
       
      1-2-3 sentinel1.conf
      
      1-2-4 sentinel2.conf
      
      1-2-5 sentinel3.conf
    

    1、docker-compose 文件实现一主两从

    编写docker-compose.yml文件,内容如下:

    version: '3.7'
    services:
      master:
        image: redis
        container_name: redis-master
        restart: always
        command: redis-server --requirepass GaosiDev --masterauth GaosiDev  
        ports:
          - 6380:6379
    
      slave1:
        image: redis
        container_name: redis-slave-1
        restart: always
        command: redis-server --slaveof redis-master 6379  --requirepass GaosiDev --masterauth GaosiDev  
        ports:
          - 6381:6379
    
    
      slave2:
        image: redis
        container_name: redis-slave-2
        restart: always
        command: redis-server --slaveof redis-master 6379  --requirepass GaosiDev --masterauth GaosiDev  
        ports:
          - 6382:6379
    

    docker-compose 文件实现 sentinel

    version: '2'
    services:
      sentinel1:
        image: redis       ## 镜像
        container_name: redis-sentinel-1
        ports:
        - "26379:26379"
        command: redis-sentinel /usr/local/etc/redis/sentinel.conf
        volumes:
        - "./sentinel1.conf:/usr/local/etc/redis/sentinel.conf"
      sentinel2:
        image: redis                ## 镜像
        container_name: redis-sentinel-2
        ports:
        - "26380:26379"           
        command: redis-sentinel /usr/local/etc/redis/sentinel.conf
        volumes:
        - "./sentinel2.conf:/usr/local/etc/redis/sentinel.conf"
      sentinel3:
        image: redis                ## 镜像
        container_name: redis-sentinel-3
        ports:
        - "26381:26379"           
        command: redis-sentinel /usr/local/etc/redis/sentinel.conf
        volumes:
        - ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf
    networks:
      default:
        external:
          name: redis-sentinel_default    ##通过(docker inspect 主节点容器id)来查看,对应 NetworkMode 
    

    编辑 sentinel.conf 文件

    port 26379
    dir /tmp
    #172.18.0.3填写自己的主节点ip,通过(docker inspect 主节点容器id)来查看,对应 IPAddress
    sentinel monitor mymaster 172.17.0.4 6379 2
    sentinel auth-pass mymaster GaosiDev 
    sentinel down-after-milliseconds mymaster 30000
    sentinel parallel-syncs mymaster 1
    sentinel failover-timeout mymaster 10000  
    sentinel deny-scripts-reconfig yes
    

    参考链接

    https://www.cnblogs.com/ruiyeclub/p/12355073.html

    https://www.cnblogs.com/JulianHuang/p/12650721.html

  • 相关阅读:
    axios 讲解 和vue搭建使用
    在过去一年中做了很多项目。纪念一下
    使用vue遇到坑
    python 学习总结
    webpack 学习
    gulp-rev 添加版本号
    解决微信转发到朋友圈没有获取页面头像以图标展示。
    对象-数组-字符串:
    mobiscroll时间控件
    Chrome Adobe flash player已过期怎么办
  • 原文地址:https://www.cnblogs.com/daleyzou/p/docker-redis-sentinel.html
Copyright © 2011-2022 走看看