美文网首页
docker下的redis哨兵集群环境搭建

docker下的redis哨兵集群环境搭建

作者: 你清澈又神秘 | 来源:发表于2018-01-11 11:01 被阅读441次

    1,redis的dockerfile编写

    #redis专用dockerfile
    
    FROM      centos:7.2.1511
    MAINTAINER zzli
    
    ENV REFRESHED_AT 2017-12-19
    
    ENV REDIS_HOME /opt/redis/redis
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    ADD redis-3.2.9.tar.gz /opt/redis/
    RUN ln -s /opt/redis/redis-3.2.9 $REDIS_HOME
    
    RUN yum -y install gcc make
    RUN mkdir -p /etc/redis/
    
    WORKDIR $REDIS_HOME
    RUN make && make install
    
    
    EXPOSE 6379
    EXPOSE 26379
    
    ADD redis.sh /usr/local/bin/
    RUN chmod +x /usr/local/bin/redis.sh
    ENTRYPOINT ["/usr/local/bin/redis.sh"]
    

    提交镜像
    docker build . -t phj/redis:0.1

    2,redis-sentinel的dockerfile编写

    #redis专用dockerfile
    
    FROM      centos:7.2.1511
    MAINTAINER zzli
    
    ENV REFRESHED_AT 2017-12-19
    
    ENV REDIS_HOME /opt/redis/redis
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    
    ADD redis-3.2.9.tar.gz /opt/redis/
    RUN ln -s /opt/redis/redis-3.2.9 $REDIS_HOME
    
    RUN yum -y install gcc make
    RUN mkdir -p /etc/redis/
    
    WORKDIR $REDIS_HOME
    RUN make && make install
    
    EXPOSE 26379
    
    
    
    ENTRYPOINT ["/usr/local/bin/redis-sentinel", "/etc/redis/sentinel.conf"]
    

    提交镜像
    docker build . -t phj/redis-sentinel:0.1

    3,编写docker-compose启动redis集群

    master1:
      image: phj/redis:0.2
      environment:
        HOSTNAME: redis-master
      container_name: redis1
      ports:
                - "6379:6379"
      volumes:
          - /redis/conf/master/:/etc/redis/
    slave1:
      image: phj/redis:0.2
      environment:
        HOSTNAME: redis-slave
      ports:
                - "6380:6379"
      container_name: redis2
      volumes:
          - /redis/conf/slave/:/etc/redis/
      links:
          - master1:redis-master
    sentinel1:
      image: phj/redis-sentinel:0.1
      expose:
            - 26379
      links:
        - master1:redis-master
        - slave1:redis-slave
      environment:
        HOSTNAME: redis-sentinel
      container_name: redis-sentinel
      volumes:
            - /redis/conf/sentinel/:/etc/redis/
    

    ** 4,启动docker-compose**

    docker up -d

    5,redis.sh脚本如下:

    #!/bin/bash
    
    /usr/local/bin/redis-server /etc/redis/redis.conf
    /usr/local/bin/redis-sentinel /etc/redis/sentinel.conf
    

    相关文章

      网友评论

          本文标题:docker下的redis哨兵集群环境搭建

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