构建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

最新文章

  1. Scala:没有continue,break怎么办?
  2. Android 学习第15课,Android 开发的单元测试、及输出错误信息
  3. 关于EXCEL学习的那些事
  4. 九校联考 终&启
  5. 【周年版】Cnblogs for Android
  6. 面试题-链表反转c实现
  7. RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数
  8. atitit.提升开发效率---mda 软件开发方式的革命
  9. 不用synchronized块的话如何实现一个原子的i++?
  10. JS的prototype的共享机制分析
  11. JAVA事务的概念
  12. C 常用的输入输出 栈 哈希 文件写读 实现 字符串处理
  13. codeforce 149D Coloring Brackets 区间DP
  14. DotNetCore跨平台~xUnit生成xml报告
  15. SQL 聚集函数(聚组函数)的使用 注意事项
  16. vue页面传参和接参
  17. Nginx CGI反向代理对照
  18. Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现
  19. 2019.01.01洛谷 P4725/P4726 多项式对数/指数函数(牛顿迭代)
  20. 重建控制文件ORA-12720

热门文章

  1. python------面向对象介绍之经典类与新式类的继承顺序
  2. 使用VUE搭建tab标签组件
  3. MySQL Config--参数system_time_zone和参数time_zone
  4. AI 学习
  5. [转]浅谈UML的概念和模型之UML九种图
  6. MatConvNet中关于vl_simplenn_display的一些分析
  7. Java ThreadPoolTaskExecutor使用
  8. FireDAC内部初探
  9. java降低竞争锁的一些方法
  10. 通过IOCTL_ATA_PASS_THROUGH访问ATA设备接口