Docker 可以通过读取 Dockerfile 文件中的指令来自动构建镜像。Dockerfile 是一个文本格式的配置文件。本文首先将介绍 Dockerfile 典型的基本结构及其支持的众多指令,并具体讲解通过这些指令来编写定制镜像的 Dockerfile,以及如何生成镜像。
1. 基本结构
Dockerfile 由一行行命令语句组成,并且支持以 #
开头的注释行。 格式如下所示:
# Comment
INSTRUCTION arguments
指令不区分大小写。但是,一般惯例是将它们大写,以便更容易地将它们与参数区分开来。
一般而言,Dockerfile 主体内容分为四部分:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令。主体部分首先使用 FROM 指令指明所基于的镜像名称,接下来一般是使用 LABEL 指令说明维护者信息。后面则是镜像操作指令,例如 RUN 指令将对镜像执行跟随的命令。每运行一条 RUN 指令,镜像添加新的一层,并提交。最后是 CMD 指令,来指定运行容器时的操作命令。如下是一个简单的 Dockerfile 示例: