FROM

FROM [--platform=<platform>] <image> [AS <name>]

FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]

FROM [--platform=<platform>] <image>[@<digest>] [AS <name>]

FROM指令初始化一个新的构建阶段,并为后续指令设置基础镜像。因此,有效的Dockerfile必须以FROM指令开头。该镜像可以是任何有效的镜像,比如从公共存储库中拉取镜像。

  • ARG可能是Dockerfile中唯一能够放置在FROM之前的指令。

  • FROM可以在单个Dockerfile中多次出现,以创建多个镜像或将一个构建阶段用作另一个构建阶段的依赖。只需在每个新的FROM指令之前记录一次输出的最后一个镜像ID。每个FROM指令会清理由于先前的指令执行而创建的任何状态。

  • 通过将AS名称添加到FROM指令中,可以作为新的构建阶段引用的名称。该名称可以在后续的FROM COPY --from=<名称>指令中使用,以引用此阶段中构建的镜像。

  • 标签(tag)加密值(digest)是可选的。如果忽略其中任何一个,那么默认情况下构建器将采用latest标签。如果构建器找不到标签值,则返回错误。

FROM中引用多种平台的镜像时,可选项--platform可用于指定镜像的平台。例如linux/amd64linux/arm64Windows/amd64。默认情况下,使用构建请求的目标平台。可以在此标志(flag)的值中使用全局构建参数,例如,自动平台ARG允许您将阶段强制到本机构建平台(--platform = $BUILDPLATFORM),并使用它来交叉编译到目标平台内部。

Last updated