Creating Docker Image

Docker containers are based on a Docker image. Those images consist of multiple immutable layers of data. The immutable layers are generated on build time. One image can be based on another image. By starting a container, a slim read/write-layer is generated on top of the static image which holds all runtime data. Changing files in the underlying layers will start a copy-on-write action with the new file in the r/w-layer overlaying the older one. Due to this, multiple containers can be based on a single image with minimal footprint. A Docker image is built by using a so called Dockerfile.