怎么创建Docker镜像-Dockerfile

Dockerfile是一个帮助构建Docker镜像的脚本,里面包含了构建指令。类似于Makefile,如果把Docker比喻成Make,那么Dockerfile就相当于Makefile。

有了Dockerfile,当我们在后续定制自己额外的需求时,只需在Dockerfile上添加或者修改指令,重新生成镜像即可,省去了不少麻烦。

下面我们通过创建一个Docker镜像(Nginx-PHP)来说明怎么使用Dockerfile。使用的系统为 Ubuntu。

Dockerfile的主要指令

FROM

引入构建新镜像使用的基础镜像,必须在Dockerfile文件头定义。可以使用本地镜像也可以使用远程镜像。

MAINTAINER

谁创建的这个镜像,可选。

RUN

构建Docker镜像执行的命令。

ADD

把宿主中的文件复制到Docker镜像中,也可以使用URL。

ENV

用来定义镜像中的环境变量。

CMD

当我们使用Docker镜像创建新容器时执行的命令。

ENTRYPOINT

定义当容器启动时执行的命令。

WORKDIR

工作目录,对RUN、CMD、ENTRYPOINT有效。

USER

设置启动容器的用户,默认是root用户。

VOLUME

开启容器和宿主的访问/链接目录。

#1 安装Docker

如果你还没有安装Docker,参考:Ubuntu 16.04 安装 docker

#2 创建Dockerfile

创建目录:

我制作的Docker镜像是安装了Nginx和PHP-FPM 7的Ubuntu 16.04。

编辑Dockerfile:

文件内容如下:

在my_image目录中创建几个配置文件,default、supervisord.conf、start.sh。

文件内容:

文件内容:

文件内容:

设置文件权限:

#3 构建镜像

Dockerfile和配置文件创建完成,下面开始构建镜像:

怎么创建Docker镜像-Dockerfile

构建完成:

怎么创建Docker镜像-Dockerfile

查看创建的镜像:

在创建新容器之前先在主机上创建网站目录:

创建容器:

测试容器中的Nginx和PHP:

使用浏览器访问:http://your_ip/info.php

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注