服务器在线 - 服务器软件 - 网站地图 服务器在线,专注于服务器技术!

当前位置:主页 > 云和虚拟化 > Docker > 正文

利用轻量级Linux容器Docker进行统一开发和部署

时间:2015-01-13    来源:服务器在线    投稿:泡泡    点击:

在接下来的例子里,我们将看看名字为PHP Box的Dockerfile(见代码清单1)。

代码清单1.PHP Box
# PHP Box
#
# VERSION 1.0

# use centos base image
FROM centos:6.4

# specify the maintainer
MAINTAINER Dirk Merkel, dmerkel@vivantech.com

# update available repos
RUN wget http://dl.fedoraproject.org/pub/epel/6/x86_64/
epel-release-6-8.noarch.rpm; rpm -Uvh epel-release-6-8.noarch.rpm

# install some dependencies
RUN yum install -y curl git wget unzip

# install Apache httpd and dependencies
RUN yum install -y httpd

# install PHP and dependencies
RUN yum install -y php php-mysql

# general yum cleanup
RUN yum install -y yum-utils
RUN package-cleanup --dupes; package-cleanup --cleandupes;
 yum clean -y all

# expose mysqld port
EXPOSE 80

# the command to run
CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]

接下来我们仔细看看上面的Dockerfile都做了哪些事情。Dockerfile的语法是命令关键字,其后紧跟着是该命令的参数。通常命令关键字是大写的。注释部分是以#开头的。

FROM命令向你指明了所使用的基本映像。它必须是Docker文件的第一条命令。在这个例子里,你所做的工作都是建立在刚才新建的基本映像Centos上的。很显然,MAINTAINER命令则罗列出了维护这个Dockerfile的人员。RUN命令执行一条命令,并给出运行结果映像,因此它新创建了一个映像。这个Dockerfile里的RUN命令获取其他软件仓库的配置文件,然后使用Yum安装curl、git、wget、unzip、httpd、php-mysql和yum-utils。我们可以把这几个yum install命令合并成一条RUN命令,从而可以避免连续多次提交。

如果您的问题仍未解决,还可以加入服务器在线技术交流QQ群:8017413寻求帮助。


相关内容
最新热点内容
推荐内容