构建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. org.apache.commons.lang3.StringUtils中的StringUtils常用方法

    https://my.oschina.net/funmo/blog/615202?p=1 public static void TestStr(){ //null 和 ""操作~~ ...

  2. Go Example--range

    package main import "fmt" func main() { nums := []int{2,3,4} sum :=0 //rang 遍历切片 for _,num ...

  3. LG3975 [TJOI2015]弦论

    题意 题目描述 为了提高智商,ZJY开始学习弦论.这一天,她在< String theory>中看到了这样一道问题:对于一个给定的长度为n的字符串,求出它的第k小子串是什么.你能帮帮她吗? ...

  4. MySQL数据库的学习

    ------------------------------------- 管理数据库PS: Mysql的管理 主要是包括 用户的管理. show........各种的信息   SHOW COLUMN ...

  5. maven(一)

    Maven的简介 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的 Maven好处 普通的传统项目 maven项目 分析:maven项目为什么这么小? ...

  6. Object 及toString() 方法的重写

    Object: 是所有的类的父类  ,Object中所有的方法 , 子类都能使用  ,   接口不是Object子类. Person: /*将父类的equals方法 重写 * 不改变父类的源代码 eq ...

  7. js中获取当前url参数值的一个方法

    var $_GET = (function(){             var url = window.document.location.href.toString();//获得当前url地址并 ...

  8. C# to il 9 Properties and Indexers(属性和索引器)

    A field is simply a memory location, whereas, a property is a collection of methods. Aproperty is re ...

  9. Bat相关的项目应用

    原 bat 命令如何启动远程PC上的一个程序? 原 bat 自动解压缩,发布asp.net程序 原 bat 自动更新代码,编译,压缩asp.net程序 原 bat自动备份压缩文件 原 bat命令ora ...

  10. git和gulp使用

    git push origin master/chunxiong git remote -v git merge chunxiong working tree:就是你所工作在的目录,每当你在代码中进行 ...