En el apartado anterior hemos descrito como construir nuevos contenedores mediante la docker build y los ficheros Dockerfile pero, ¿qué son y qué contienen esos ficheros declarativos que me sirven para construir mis imágenes?.
Si queremos hacer una definición más o menos formal de estos ficheros podríamos decir que:
"Un fichero Dockerfile es un conjunto de instrucciones que serán ejecutadas de forma secuencial para construir una nueva imagen docker".
Cada una de estas instrucciones crea una nueva capa en la imagen que estamos creando. Si no ha habido cambios estas instrucciones son cacheadas y la capa previamente creada usada. Esto me permite reusar capas entre imágenes que están construidas de forma similar y basándose en las mismas imágenes de base. Esta estructura en forma de capas de las imágenes la podemos ver cuando ejecutamos la orden docker pull. Podemos apreciarlo en la siguiente imagen.

Cada una de las líneas que nos aparecen en el proceso de descarga es una de las capas que conforman la imagen. En este caso tres capas, cada una con su identificador.
¿ Y las instrucciones que puede contener el fichero Dockerfile?. Son varias que explicaremos posteriormente, pero de manera general podemos decir que dichos ficheros tienen la siguiente estructura.
