Each of the files that make up a Docker image is known as a layer.
These layers form a series of intermediate images, built one on top of the other in stages, where each layer is dependent on the layer immediately below it. Thus, you should organize layers that change most often as high up the stack as possible. This is because, when you make changes to a layer in your image, Docker not only rebuilds that particular layer, but all layers built from it. Therefore, a change to a layer at the top of a stack involves the least amount of computational work to rebuild the entire image.
Each time Docker launches a container from an image, it adds a thin writable layer, known as the container layer, which stores all changes to the container throughout its runtime.
The first layer of a Docker image is known as the parent image. It’s the foundation upon which all other layers are built and provides the basic building blocks for your container environments.
A base image is an empty first layer, which allows you to build your Docker images from scratch.
The image in JSON format and comprises information such as image tags, a digital signature, and details on how to configure the container for different types of host platforms.