利用轻量级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寻求帮助。
相关内容
最新热点内容
推荐内容