构建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..tar.gz
RUN rm -rf redis-5.0..tar.gz
RUN cd redis-5.0./;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

构建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 minutes ago 787MB
centos latest 9f38484d220f 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 .048kB
Step / : FROM djl/redis
---> 2125f0a93781
Step / : 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 minutes ago 787MB
centos latest 9f38484d220f 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 .048kB
Step / : FROM djl/redis
---> 2125f0a93781
Step / : 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 seconds ago 787MB
djl/redis_primary latest 9ccd42433073 minutes ago 787MB
djl/redis latest 2125f0a93781 minutes ago 787MB
centos latest 9f38484d220f days ago 202MB

end

构建Redis主从镜像的更多相关文章

  1. docker学习(四) - docker构建redis主从结构

    此文章假设你已经安装了docker,如果没有安装请查询本博客docker安装章节 容器网络 docker network ls  查看默认的网络 Docker安装后,默认会创建下面三种网络类型 在启动 ...

  2. 使用Docker构建redis集群--最靠谱的版本

    1集群结构说明 集群中有三个主节点,三个从节点,一共六个结点.因此要构建六个redis的docker容器.在宿主机中将这六个独立的redis结点关联成一个redis集群.需要用到官方提供的ruby脚本 ...

  3. nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存

    一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集群. 一般来说,只有一台Redis是不可行的,原因如下: 单台Redis服务器会发 ...

  4. redis主从,哨兵,集群

    本次所有操作在docker下进行,搭建方便,迅速构建redis集群. 1. docker安装redis 获取redis:latest(使用官方最新的) 镜像 $ docker pull redis r ...

  5. Redis主从高可用缓存

    nopCommerce 3.9 大波浪系列 之 使用Redis主从高可用缓存   一.概述 nop支持Redis作为缓存,Redis出众的性能在企业中得到了广泛的应用.Redis支持主从复制,HA,集 ...

  6. 在kubernetes集群中创建redis主从多实例

    分类 > 正文 在kubernetes集群中创建redis主从多实例 redis-slave镜像制作 redis-master镜像制作 创建kube的配置文件yaml 继续使用上次实验环境 ht ...

  7. Redis主从同步分析(转)

    一.Redis主从同步原理 1.1 Redis主从同步的过程 配置好slave服务器连接的master后,slave会建立和master的连接,然后发送sync命令.无论是第一次同步建立的连接还是连接 ...

  8. Redis主从配置及通过Keepalived实现Redis自动切换高可用

    Redis主从配置及通过Keepalived实现Redis自动切换高可用 [日期:2014-07-23] 来源:Linux社区  作者:fuquanjun [字体:大 中 小]   一:环境介绍: M ...

  9. redis主从、集群、哨兵

    redis的主从.集群.哨兵 参考: https://blog.csdn.net/robertohuang/article/details/70741575 https://blog.csdn.net ...

随机推荐

  1. c# 多线程 读写分离

    class Program { private static ReaderWriterLockSlim _LockSlim = new ReaderWriterLockSlim(); private ...

  2. this关键字的使用8/22

    实质就是:this代表当前对象目录: 1.this(name) 调用同一个类中参数为 public Person(String name)这个构造方法 2.this.say() 同一个类中,某一个方法 ...

  3. JDBC面试题

    关于jdbc的面试题 什么是JDBC,在什么时候会用到它? JDBC的全称是Java DataBase Connection,也就是Java数据库连接,我们可以用它来操作关系型数据库.JDBC接口及相 ...

  4. chaostoolkit 混沌工程工具集

    chaostoolkit 目标是提供一个免费,开放,社区驱动的工具集以及api 以下为一张参考图 一些已经的扩展 基础设施/平台 Fault Injections: [chaostoolkit-kub ...

  5. Airtest Project的探索和使用

    Airtest使用参考博文: https://testerhome.com/topics/12391 1. 安装Python 3 2. 安装pip: 安装方法参考另外一篇随笔 pip3部署: C:\U ...

  6. windows下搭建voip服务器

    软件: yate-6.0.0-1-setup.exe 服务端,里面也有个客户端 eyeBeam.exe 客户端 步骤: 失败....

  7. ik_max_word ik_smart 区别 和 单字 查询 不到问题

    ik_smart:分词的时候只分一次,句子里面的每个字只会出现一次. 比如:中华人民共和国国歌 入上图,分成:中华人民共和国 国歌 2 部分.每个字都自出现了一次.(我指的每一个位置 的子. 2个国 ...

  8. python实现切换代理ip

    大量的处理爬虫的时候,IP地址容易被封掉,这个时候可以使用代理IP来帮助完成接下来的任务了 使用Requests模块来完成请求,代码如下: import urllib.requestimport re ...

  9. 从Excel文件中读取内容

    从Excel文件中读取内容 global::System.Web.HttpPostedFileBase file = Request.Files["txtFile"]; strin ...

  10. jmeter—JDBC request动态参数设置

    jmeter—JDBC request动态参数设置 重要参数说明: Variable Name:数据库连接池的名字,需要与JDBC Connection Configuration的Variable ...