One incremental slice of a Docker image, produced by a single instruction in a Dockerfile. Docker stacks these layers to form the final image and caches each one, so an unchanged step doesn't have to run again.