天天看点

Dockerfile 基础介绍

这是本专栏的第三部分:镜像篇,共 8 篇。前两篇我为你介绍了 Docker 镜像生命周期的管理,以及镜像的构建和分发方式。本篇,我来为你介绍 Dockerfile 带你理解 Dockerfile 中的重点知识,方便你自己定义构建镜像的行为。下面我们一起进入本篇的学习。

Dockerfile 基本格式

在前面的内容中,我有写过几个 Dockerfile,但是并没有对它做过多介绍。这里,我们来先看看 Dockerfile 它最基本的格式。如下:

# 注释
INSTRUCTION arguments
           

看起来很简单对吧,一般情况下以 # 开头的内容是注释,其他内容以指令开头,后面跟着参数所使用的指令。

指令实际不区分大小写,但是约定使用大写。

注意:为什么说是“一般情况下以 # 开头的是注释”呢?这是因为目前有两种特殊情况。分别是:

  • # escape=

    格式开头的 Dockerfile
  • # syntax=

    格式开头的 Dockerfile

使用 escape 主要的需求是转义 Windows 镜像的特殊字符;而使用 syntax 的场景目前比较少,主要是使用构建的高级特性,在后续章节中会介绍。

Dockerfile 常用指令介绍

FROM

指定构建镜像所用的基础镜像,通常情况下我们会使用