El Dockerfile es la unidad fundamental del ecosistema Docker. Describe los pasos para crear una imagen de Docker. El flujo de información sigue este esquema central: Dockerfile > Docker Image > Docker Container.
Un contenedor Docker tiene una vida limitada e interactúa con su entorno. Imaginaque contenedor es como un organismo vivo. Piensa en un organismo unicelular, como una célula de levadura. Siguiendo esta analogía, una imagen Docker equivale, digamos, a la información genética: todos los contenedores creados a partir de una imagen son iguales, como todos los organismos unicelulares clonados a partir de una unidad de información genética. Entonces, ¿cómo entra el Dockerfile en este esquema?
El Dockerfile define los pasos a seguir para crear una nueva imagen. Hay que entender que se empieza siempre con una imagen base existente. La nueva imagen nace de la imagen base. Además, hay ciertos cambios puntuales. En nuestro ejemplo de la célula de levadura, los cambios serían mutaciones. Un Dockerfile es determinante en dos aspectos de la nueva imagen de Docker:
- La imagen base de la que procede la nueva imagen. Esto ancla la nueva imagen al árbol genealógico del ecosistema Docker.
- Un conjunto de cambios específicos que diferencian la nueva imagen de la imagen base.