This post starts a series of articles taking a deep dive on building Docker images.
But before we look at building a Docker image let’s briefly recap the essentials we need to know about container images.
A Docker image is built up from a series of layers where each layer represents an instruction in the image’s Dockerfile.
When Docker materializes an image and creates a container from this image, a storage driver handles the details about the way these layers interact with each other.
Different storage drivers are available, which have advantages and disadvantages in different situations (e.g. AUFS, overlay, overlay2, btrfs,zfs).
All drivers have in common that they use stackable image layers and the copy-on-write (CoW) strategy for writing files.
Continue reading