Containers are made of layers. Compile and install operations performed in the image, add to the layers, increasing the size of the container. Instead of keeping all of those layers into the final image, you can split those steps off, and only use the finished product. Docker provides this capability through multi-stage builds. In this lab, you will build an image the usual way, and inspect the image to see how it is put together. You’ll then convert the Dockerfile to use multi-stage builds, and see how the new image compares.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Do Prep Work in the Image
- Inspect the current Dockerfile for the NotesApp image.
- Build the image as
notesapp
and tag it as versiondefault
. - Inspect the
default
image version, to see how many layers it has, and how large the image is.
- Add a Build Stage
- Move the install steps in the Dockerfile to a separate stage.
- Copy the finished installs into the final image.
- Create a Smaller Image
- Build the image as
notesapp
and tag it as versionmultistage
. - Inspect the new
multistage
image version to see how many layers it has and how large the image is.
- Build the image as