Introduction
In the previous chapter, we learned about Docker registries, including private and public registries. We created our own private Docker registry to store the Docker images. We also learned how to set up access and store our Docker images in the Docker Hub. In this chapter, we will be discussing the concept of multi-stage Dockerfiles
.
Multi-stage Dockerfiles
are a feature introduced in Docker version 17.05. This feature is preferable when we want to optimize Docker image size while running Docker images in production environments. To achieve this, a multi-stage Dockerfile
will create multiple intermediate Docker images during the build process and selectively copy only essential artifacts from one stage to the other.
Before multi-stage Docker builds were introduced, the builder pattern was used to optimize the Docker image size. Unlike multi-stage builds, the builder pattern needs two Dockerfiles
and a shell script to create efficient Docker images.
In this chapter...