构建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. hdu6440 Dream(费马小定理)

    保证 当  n^p=n(mod p) 是成立 只要保证n*m=n*m(mod p); #include<bits/stdc++.h> using namespace std; int ma ...

  2. itcast-svn

    svn介绍 1.1     svn服务器的工作方式 数据   库  服务 概念   使用数据库,连接服务,服务操作库 独立服务器方式: svnserve 借助Apache方式: mod_dav_svn ...

  3. gearman kubernetes 运行

    备注: 使用的是golang 版本的实现,同时官方也提供了一个k8s 的helm 部署charts,我 没有使用这个helm,而是通过kompose 这个工具直接转换的 docker-compose ...

  4. YAML Class ID Reference

    Classes Ordered by ID Number ID Class 1 GameObject 2 Component 3 LevelGameManager 4 Transform 5 Time ...

  5. Unity 原厂免费资源学习

     

  6. C/S架构程序多种类服务器之间实现单点登录

    (一) 在项目开发的过程中,经常会出现这样的情况:我们的产品包括很多,以QQ举例,如登陆.好友下载.群下载.网络硬盘.QQ游戏.QQ音乐等,总不能要求用户每次输入用户名.密码吧,为解决这个问题,高手提 ...

  7. MySQL创建表,更新表,删除表,重命名表

    创建表 mysql> create table 表名( -> 列名 数据类型 是否为空 auto_increment, -> 列名 数据类型 是否为空... -> ... -& ...

  8. 我发起了一个 .Net 平台上的 NewSql 数据库 BabanaDB

    发起这个项目的起因, 是偶然看到一个网友发的 MongoDB 的 新闻, 我想, 像  MongoDB  这样的 非关系数据库 ,随时 都可以写 很多个, 真正 难写 的 是  关系数据库, 非关系数 ...

  9. Python的rand vs randn以及linspace

    Numpy里面的randn是满足了整体分布的,normal distribution(正态分布):rand则是满足了Uniform Distribution(均匀分布): Linspace(start ...

  10. Hbase Shell命令详解+API操作

    HBase Shell 操作 3.1 基本操作1.进入 HBase 客户端命令行,在hbase-2.1.3目录下 bin/hbase shell 2.查看帮助命令 hbase(main):001:0& ...