scratch
Estimated reading time: 1 minutean explicitly empty image, especially for building images “FROM scratch”
Library reference
This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Hub page for this image at https://hub.docker.com/images/scratch
FROM scratch
This image is most useful in the context of building base images (such as debian
and busybox
) or super minimal images (that contain only a single binary and whatever it requires, such as hello-world
).
As of Docker 1.5.0 (specifically, docker/docker#8827
), FROM scratch
is a no-op in the Dockerfile
, and will not create an extra layer in your image (so a previously 2-layer image will be a 1-layer image instead).
From https://docs.docker.com/engine/userguide/eng-image/baseimages/:
You can use Docker’s reserved, minimal image,
scratch
, as a starting point for building containers. Using thescratch
“image” signals to the build process that you want the next command in theDockerfile
to be the first filesystem layer in your image.While
scratch
appears in Docker’s repository on the hub, you can’t pull it, run it, or tag any image with the namescratch
. Instead, you can refer to it in yourDockerfile
. For example, to create a minimal container usingscratch
:
FROM scratch
COPY hello /
CMD ["/hello"]