UDN-企业互联网技术人气社区

板块导航

浏览  : 749
回复  : 1

[资源分享] 你真的掌握Docker镜像制作技能了吗?

[复制链接]
呵呵燕的头像 楼主
发表于 2016-9-11 19:41:12 | 显示全部楼层 |阅读模式
  镜像能给我们带来哪些好处呢?

  大家也许都有过这样的经历:一个复杂的应用环境搭建,很多配置项,很多的配置步骤,各种依赖。辛辛苦苦搭建完成,才发现有的地方配置错误,重新再来。一个不小重启电脑,或者其他故障,又得重新来过。你会详细而紧张的记录每一个步骤,每一个过程。繁琐的步骤一遍又一遍,虽然让你更加熟悉了搭建过程,但是更多的是浪费了宝贵的时间。有没有什么办法,能够让自己辛辛苦苦搭建好的环境能够保存下来,当我再需要这样的环境时,只需将保存下来的环境复制过去?这样既快速又方便,更重要的是不会出错。

  现在,再来构想另外一个场景:最近来了很多新同事,对业务不熟,对平台环境也不熟。这时候,你肯定不会舍得让他在你的环境下进行熟悉操作吧,一不小心系统就会崩掉。那这时候我们更多的选择,是让我们的新同学能够搭建自己的一套环境自己玩。那么问题就来了,一不小心玩坏掉了,又得重新搭建。有什么快速或者说是一键搭建的可能性么?

  现在,可以开心的告诉大家:只要将你的应用制作成镜像,这一切都可以实现。Niubility!Docker镜像竟然这么厉害?当你将你的应用做成镜像的时候,其实就是将你搭建应用的步骤写进镜像中,镜像里包含了应用所需要的多有依赖和设置以及环境。制作好镜像,你就可以启动一个容器,来启动你的应用,而不用进行任何配置。

  举个简单的例子:比如你有一个web应用,部署在tomcat的中。首先你得先安装tomcat环境吧,安转tomcat,你又要先安装JDK、配置环境变量,然后测试java是不是安装成功,不成功的话你得费劲心思去查找问题所在。安装完JDK,安装tomcat,又得测试是否安装成功。有时候安装环境会占去你很多时间,出现很多莫名其妙的问题,这也是我们百度用的好的原因之一吧!

  当你用的是windows系统,或者说你用的linux centos 6.5的系统,但是你的应用环境要求必须要centos7系统,这时你会怎么办?升级系统?安装个虚拟机?不管哪种方式都会占用你很多时间和精力。如果你将你的应用制作成Docker镜像,你就可以在你的系统上去直接跑自己的应用,不管是什么系统。

  接下来,以hsiar应用为例,来讲一下,怎么去制作一个镜像。

  1.编写Dockerfile

  制作镜像其实就是编写Dockerfile文件,通过Dockerfile文件生成镜像。

i.png

h.png


  分析Dockerfile,首先是采用centos:7.2.1511作为基础镜像。也就是说,操作系统环境为centos:7.2.1511。将安装hsiar所需的依赖拷贝至镜像中,包括hiredis-0.13.3-1.el7.centos.x86_64.rpm等内容。然后依次通过rpm进行安装。这样就成功将hsiar安装至镜像中。

  我们需要在启动时将hsiar应用启动起来,所以我们还需要编写一个简单的启动脚本run.sh,用来启动nginx,这样在启动容器时,就自动启动我们的hsiar应用。

  run.sh内容如下:

g.png


  2.生成镜像

  通过以下命令来生成我们的hsiar镜像:

f.png


  3.启动容器,测试镜像

  通过以下命令来启动一个hsiar容器:

e.png


  启动容器后,可以下地址访问web页面:

  http://[host_ip]:10086/

  至此我们的hsiar镜像制作成功,如果想使用hsiar,我们只要启动一个容器就可以了,再也不需要一些繁琐的搭建步骤了。小伙伴们看完后有没有和我一样,深深地爱上它?

原文作者:杜刚建 来源:开发者头条

相关帖子

发表于 2016-9-11 20:59:11 | 显示全部楼层
赞一个
使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部