Docker Dockerfile

2024 年 8 月 29 日 | 阅读 2 分钟

Dockerfile 是一个文本文件,其中包含用于组装镜像的命令。我们可以使用任何可以在命令行调用的命令。 Docker 通过读取 Dockerfile 中的指令自动构建镜像。

docker build 命令用于从 Dockerfile 构建镜像。 您可以将 -f 标志与 docker build 一起使用,以指向文件系统中任意位置的 Dockerfile。


Dockerfile 指令

指令不区分大小写,但您必须遵循建议使用大写的约定。

Docker 按照从上到下的顺序运行 Dockerfile 的指令。 第一条指令必须是 FROM,以指定基础镜像。

以 # 开头的语句被视为注释。 您可以在 Dockerfile 中使用 RUN、CMD、FROM、EXPOSE、ENV 等指令。

在这里,我们列出了一些常用的指令。

FROM

此指令用于为后续指令设置基础镜像。 有效的 Dockerfile 必须将 FROM 作为其第一条指令。

例如。

LABEL

我们可以向镜像添加标签来组织我们项目的镜像。 我们需要使用 LABEL 指令来设置镜像的标签。

例如。

RUN

此指令用于执行当前镜像的任何命令。

例如。

CMD

用于通过镜像执行应用程序。 我们应该始终以以下形式使用 CMD

这是使用 CMD 的首选方式。 Dockerfile 中只能有一个 CMD。 如果我们使用多个 CMD,则只会执行最后一个。

COPY

此指令用于将新文件或目录从源复制到容器的文件系统中。

例如。

规则

  • 源路径必须位于构建的上下文中。 我们不能 COPY ../something /something,因为 docker 构建的第一步是将上下文目录(和子目录)发送到 docker 守护进程。
  • 如果源是目录,则会复制目录的整个内容,包括文件系统元数据。

WORKDIR

WORKDIR 用于为 Dockerfile 中后续的任何 RUN、CMD 和 COPY 指令设置工作目录。 如果工作目录不存在,则默认会创建它。

我们可以在 Dockerfile 中多次使用 WORKDIR。

例如。


下一个主题Docker Java 示例