Images are the heart of Docker: the read-only templates from which containers are run. Understanding how images are structured — as stacks of layers — explains Docker's efficiency in storage, transfer, and rebuilds. Understanding tags explains how image versions are named and referenced, and understanding registries explains how images are stored and shared between machines and teams.
An image is built from layers: each instruction in its definition adds a layer, and layers are cached and shared between images. This layering is why pulling a second image that shares a base is fast, and why rebuilding an image after a small change is quick. Tags name and version images, and registries are the servers — like the public Docker Hub — that host them.
This lesson covers the layered structure of images, how tags identify versions (and the trap of relying on latest), and how registries store and distribute images via pull and push. Together these explain how images are efficient, versioned, and shareable — the properties that make reproducible deployment possible.