格式

以下是 Dockerfile 格式:

  1. # Comment
  2. INSTRUCTION arguments

Dockerfile 文件中指令本身不区分大小写。但是惯例是让它们成为大写的,以便更容易地将它们与参数区分开来。

Docker 按顺序在 Dockerfile 中运行指令。 Dockerfile 必须以 FROM 指令开始FROM 指令指定您要构建的基本映像。FROM 之前可能有一个或多个 ARG 指令,这些指令声明了在 DockerfileFROM 行中使用的参数。

指令

FROM

RUN

COPY

ADD

ENV

EXPOSE

  1. EXPOSE <port> [<port>...]

EXPOSE 指令通知 Docker,该容器在运行时侦听指定的网络端口。您可以指定端口是侦听TCP还是UDP,如果未指定协议,则默认为TCP。
EXPOSE 不会使主机可以访问容器的端口。 要做到这一点,您必须使用 -p 标志来发布一系列端口或使用 -P 标志来发布所有暴露的端口。

VOLUME

WORKDIR

USER

CMD

ENTERYPOINT

LABEL

LABEL 指令将元数据添加到镜像。一个 LABEL 是键值对。 要在 LABEL 值中包含空格,请使用引号和反斜杠,就像在命令行解析中一样。

  1. LABEL <key>=<value> <key>=<value> <key>=<value> ...

以下为一些用法示例:

  1. LABEL "com.example.vendor"="ACME Incorporated"
  2. LABEL com.example.label-with-value="foo"
  3. LABEL version="1.0"
  4. LABEL description="This text illustrates \
  5. that label-values can span multiple lines."

AGE

STOPSIGNAL

SHELL

示例

参考: