Una imagen de Docker es una plantilla de solo lectura (una aplicación empaquetada con sus dependencias); un contenedor es una instancia en ejecución de una imagen. La relación es como una clase y un objeto: una imagen puede generar muchos contenedores.
Imagen vs contenedor
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)
