zoukankan      html  css  js  c++  java
  • 构建Redis主从镜像

    构建Redis的基础镜像,然后基于这个基础镜像构建主Redis镜像和从Redis镜像。

    1、构建Redis基础镜像

    • 创建redis基础镜像目录
    [root@localhost mnt]# mkdir redis_base
    [root@localhost mnt]# cd redis_base/
    • 创建Dockerfile

    # vi Dockerfile

    FROM centos:latest
    MAINTAINER djl
    RUN yum -y install wget
    RUN yum -y groupinstall "Development Tools" "Server Platform Development"
    RUN wget http://download.redis.io/releases/redis-5.0.3.tar.gz
    RUN tar xf redis-5.0.3.tar.gz
    RUN rm -rf redis-5.0.3.tar.gz
    RUN cd redis-5.0.3/;make install
    RUN sed -i "s/bind 127.0.0.1/bind 0.0.0.0/g" /redis-5.0.3/redis.conf
    RUN sed -i "s/protected-mode yes/protected-mode no /g" /redis-5.0.3/redis.conf
    VOLUME [ "/var/lib/redis","/var/log/redis/" ]
    EXPOSE 6379

     构建Redis基础镜像

    # docker build -t  djl/redis .

    Successfully built 2125f0a93781
    Successfully tagged djl/redis:latest

     查看镜像

    # docker images

    [root@localhost redis_base]# docker images
    REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
    djl/redis                                              latest              2125f0a93781        8 minutes ago       787MB
    centos                                                 latest              9f38484d220f        10 days ago         202MB

    基于Redis基础镜像构建Redis主镜像

    • 创建redis主镜像目录
    [root@localhost mnt]# mkdir redis_primary
    [root@localhost mnt]# cd redis_primary/
    [root@localhost redis_primary]# 
    • 创建Dockerfile

    # vi Dockerfile

    FROM test/redis
    FROM djl/redis
    ENTRYPOINT [ "redis-server","--protected-mode no","--logfile /var/log/redis/redis-server.log" ]

    # docker build -t djl/redis_primary .

    [root@localhost redis_primary]# docker build -t djl/redis_primary .
    Sending build context to Docker daemon  2.048kB
    Step 1/2 : FROM djl/redis
     ---> 2125f0a93781
    Step 2/2 : ENTRYPOINT [ "redis-server","--protected-mode no","--logfile /var/log/redis/redis-server.log" ]
     ---> Running in ccb2ba2280c3
    Removing intermediate container ccb2ba2280c3
     ---> 9ccd42433073
    Successfully built 9ccd42433073
    Successfully tagged djl/redis_primary:latest

    验证

    # docker images

    [root@localhost redis_primary]# docker images
    REPOSITORY                                             TAG                 IMAGE ID            CREATED              SIZE
    djl/redis_primary                                      latest              9ccd42433073        About a minute ago   787MB
    djl/redis                                              latest              2125f0a93781        17 minutes ago       787MB
    centos                                                 latest              9f38484d220f        10 days ago          202MB

    基于Redis基础镜像构建Redis从镜像

    • 创建redis从镜像目录
    [root@localhost mnt]# mkdir redis_replica
    [root@localhost mnt]# 
    [root@localhost mnt]# cd redis_replica
    [root@localhost redis_replica]#
    • 创建Dockerfile

    # vi Dockerfile

    FROM test/redis
    FROM djl/redis
    ENTRYPOINT [ "redis-server","--protected-mode no","--logfile /var/log/redis/redis-replica.log","--slaveof redis_primary 6379" ]

    # docker build -t djl/redis_replica .

    [root@localhost redis_replica]# docker build -t djl/redis_replica .
    Sending build context to Docker daemon  2.048kB
    Step 1/2 : FROM djl/redis
     ---> 2125f0a93781
    Step 2/2 : ENTRYPOINT [ "redis-server","--protected-mode no","--logfile /var/log/redis/redis-replica.log","--slaveof redis_primary 6379" ]
     ---> Running in 46ebcda105ec
    Removing intermediate container 46ebcda105ec
     ---> 3f0451b6f5ce
    Successfully built 3f0451b6f5ce
    Successfully tagged djl/redis_replica:latest

    验证

    [root@localhost redis_replica]# docker images
    REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
    djl/redis_replica                                      latest              3f0451b6f5ce        32 seconds ago      787MB
    djl/redis_primary                                      latest              9ccd42433073        6 minutes ago       787MB
    djl/redis                                              latest              2125f0a93781        23 minutes ago      787MB
    centos                                                 latest              9f38484d220f        10 days ago         202MB

    end

  • 相关阅读:
    年终总结 2016-08-28 22:04 422人阅读 评论(26) 收藏
    [mysql]MySQL Daemon failed to start 2016-08-14 21:27 1121人阅读 评论(18) 收藏
    solrr初步了解 2016-07-31 22:29 380人阅读 评论(4) 收藏
    基于spring-boot的测试桩设计--几种常见的controller
    利用Factory-boy和sqlalchemy来批量生成数据库表数据
    job中shell脚本异常(删除不存在容器),导致job被打断执行的问题 脚本优化方法
    利用Factory-boy来生成实例数据
    pytest相关资源收集
    pytest 用 @pytest.mark.usefixtures("fixtureName")装饰类,可以让执行每个case前,都执行一遍指定的fixture
    pytest fixture 利用 params参数实现用例集合
  • 原文地址:https://www.cnblogs.com/djlsunshine/p/10593737.html
Copyright © 2011-2022 走看看