A container image packages a filesystem description and execution configuration used to create software containers. It contains such things as application files, libraries and a default command. Image layers and content identifiers permit sharing unchanged content; a running container adds execution state and usually a separate writable layer.[ref]
What is an image? in the Docker documentation. Explanation, immutability and layers
For example, two containers can start from the same image while receiving different input files and environment settings. Their results need not match merely because their image matches. A container image digest identifies particular image content, while a movable tag can later refer to a different image. Most containers share a host kernel, so an image is not necessarily a complete guest operating-system installation. Reproducing a calculation also requires its inputs, configuration and compatible host facilities.
New to topics? Read the docs here!