Skip to content

FROM scratch

此图像在构建基础镜像(例如 debianbusybox )或超最小镜像(仅包含单个二进制文件及其所需内容,例如 hello-world )的上下文中最为有用。

截至 Docker 1.5.0(具体来说, docker/docker#8827 ), FROM scratchDockerfile 中是一个无操作,并且不会在你的镜像中创建额外的层(所以之前的 2 层镜像将变为 1 层镜像)。

来自 https://docs.docker.com/engine/userguide/eng-image/baseimages/:

您可以使用 Docker 的预留的、最小的镜像 scratch 作为构建容器的起点。使用 scratch “镜像”向构建过程发出信号,表明您希望 Dockerfile 中的下一个命令成为您镜像中的第一个文件系统层。

scratch 出现在 hub 上的 Docker 仓库中时,你无法拉取它、运行它或用名称 scratch 标记任何镜像。相反,你可以在你的 Dockerfile 中引用它。例如,要使用 scratch 创建一个最小容器:

FROM scratch
COPY hello /
CMD ["/hello"]