接下来我们仔细看看上面的Dockerfile都做了哪些事情。Dockerfile的语法是命令关键字,其后紧跟着是该命令的参数。通常命令关键字是大写的。注释部分是以#开头的。
FROM命令向你指明了所使用的基本映像。它必须是Docker文件的第一条命令。在这个例子里,你所做的工作都是建立在刚才新建的基本映像Centos上的。很显然,MAINTAINER命令则罗列出了维护这个Dockerfile的人员。RUN命令执行一条命令,并给出运行结果映像,因此它新创建了一个映像。这个Dockerfile里的RUN命令获取其他软件仓库的配置文件,然后使用Yum安装curl、git、wget、unzip、httpd、php-mysql和yum-utils。我们可以把这几个yum install命令合并成一条RUN命令,从而可以避免连续多次提交。 接下来的 最后一条命令 在命令行里输入 这个构建过程下载了基本映像,紧接着安装Apache httpd以及与其相关的所有依赖。完成安装之后,将返回一个用来识别新创建映像的哈希值。这个值与你在前面启动MySQL容器时所使用的值类似。你可以使用php_box标签来运行Apache和PHP映像,命令如下: 下面我们将以很简短例子结束这篇文章,这个例子说明在已有的映像基础上如何简单地创建新映像: # MyApp # # VERSION 1.0 # use php_box base image FROM php_box # specify the maintainer MAINTAINER Dirk Merkel, dmerkel@vivantech.com # put my local web site in myApp folder to /var/www ADD myApp /var/www 第二个Dockerfile比第一个要简短,实际上它仅仅包含了两条真正起作用的命令。首先通过 总结轻量级应用及其依赖打包和部署工具Docker的出现是令人激动的事情,Linux社团很快采纳了它,而且还试着在生产环境中使用。例如,Red Hat在12月就宣布将在即将发布的Red Hat Linux企业版7里支持Docker。然而,Docker仍然是一个年轻的项目,而且正在飞速发展中。看到Docker项目发布1.0版本将是多么令人激动的时刻,1.0版本将是官方批准的用于生产环境的第一个版本。Docker依靠的现有的技术,其中一些技术已经具有十几年的历史了,但这并不意味着它没有任何创新。我希望这篇文章能给你足够多有关Docker的信息,并鼓励你下载Docker,亲自试一下。 |