构建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. oracle ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库(转载+自己经验总结)

    字符集子集向其超集转换是可行的,如此例 ZHS16GBK转换为AL32UTF8. 导出使用的字符集将会记录在导出文件中,当文件导入时,将会检查导出时使用的字符集设置,如果这个字符集不同于导入客户端的N ...

  2. js---通配符选择器

    原味转自:http://blog.sina.com.cn/s/blog_6e001be701017kaz.html 1.选择器 (1)通配符: $("input[id^='code']&qu ...

  3. Sencha Touch app example -- oreilly app 分析

    from: 2013/8/30的笔记 使用development.js 读取 app.json 配置文件 app.json 配置了app.js文件 app.js lauch function ,首先用 ...

  4. java中的Object类和其clone()

    1.Object是所有类的父类,任何类都默认继承Object,即直接或间接的继承java.lang.Object类.由于所有的类都继承在Object类,因此省略了extends Object关键字. ...

  5. 01c语言基础

    1.布尔类型 #include <stdio.h> int main(){ ; bool flag2 = true; ,b =; printf("%d,%d,%d\n" ...

  6. Revit 开发将自己的窗口设置为Revit窗口

    在Revit开发中如果使用modeless的对话框,经常容易被Revit窗体覆盖,但是如果将窗体设为Topmost的话,当Revit失去焦点后,它又会遮住其他程序的界面,比如将Revit最小化后,To ...

  7. Chrome 66 禁止声音自动播放

    声音无法自动播放一直在IOS/Android上面都是一个惯例, 桌面端的 Safari在2017年的11版本中也宣布禁止带有声音的多媒体自动播放, 紧接着2018年4月份Chrome发布的66版本也正 ...

  8. git刚初始化项目的操作

    # Command line instructions ## Git global setup git config --global user.name "iback" git ...

  9. PCA原理解释(二)

    PCA在做数据处理,一般会有一个数据预处理,其中一个目标就是将取数据特征向相关性. 为什么要去特征的相关性? 因为数据如果有相关性,在学习的时候是冗余的,徒增学习成本:所以对于数据处理(也称之为白化, ...

  10. Go sql语句引号问题

    使用Go进行Mysql开发时,会遇到引号问题(实际上,与语言无关,只要使用sql就会遇到这些类似问题). 本文举例说明如何解决这些问题. Example1 第一例子演示格式字符是否要加引号. 代码如下 ...