您的位置:首页 > 运维架构 > Docker

真的掌握docker镜像制作技能了吗

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

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

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

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

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

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

1.编写Dockerfile

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





分析 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 内容如下:


2. 生成镜像

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


3. 启动容器,测试镜像

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



启动容器后,可以下地址访问 web 页面 :
http://[host_ip]:10086/
至此我们的 hsiar 镜像制作成功,如果想使用 hsiar,我们只要
启动一个容器 就可以了,再也 不需要一些繁琐的搭建步骤 了。小伙伴们看完后有没有和我一样,深深地爱上它?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: