- Lab
- A Cloud Guru
Building Smaller Images with Multi-Stage Builds
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.
Path Info
Table of Contents
-
Challenge
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.
-
Challenge
Add a Build Stage
- Move the install steps in the Dockerfile to a separate stage.
- Copy the finished installs into the final image.
-
Challenge
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
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.