Building Smaller Images with Multi-Stage Builds

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

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
  1. Inspect the current Dockerfile for the NotesApp image.
  2. Build the image as notesapp and tag it as version default.
  3. Inspect the default image version, to see how many layers it has, and how large the image is.
Add a Build Stage
  1. Move the install steps in the Dockerfile to a separate stage.
  2. Copy the finished installs into the final image.
Create a Smaller Image
  1. Build the image as notesapp and tag it as version multistage.
  2. Inspect the new multistage image version to see how many layers it has and how large the image is.

Additional Resources


You have been asked to evaluate the Docker containers your company is using to try to make them more efficient. Reducing the image size will allow you to use less resources, or run more containers using the same hardware. This can save the company money, and make you look like a rock star.

What are Hands-on Labs

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.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?