A Docker image is a read-only template (a packaged application with its dependencies); a container is a running instance of an image. The relationship is like a class and an object: one image can spawn many containers.
Image vs container
IMAGE → a read-only TEMPLATE: the app + dependencies + config, built in layers
(like a blueprint/class; stored, shared, versioned)
CONTAINER → a RUNNING INSTANCE of an image (with a writable layer on top)
(like an object created from a class; has runtime state)
One IMAGE → many CONTAINERS (run the same image multiple times)
