Buenas prácticas al crear Dockerfile
- Los contenedores deber ser "efímeros": Cuando decimos "efímeros" queremos decir que la creación, parada, despliegue de los contenedores creados a partir de la imagen que vamos a generar con nuestro
Dockerfile
debe tener una mínima configuración. - Uso de ficheros
.dockerignore
: Como hemos indicado anteriormente, todos los ficheros del contexto se envían al docker engine, es recomendable usar un directorio vacío donde vamos creando los ficheros que vamos a enviar. Además, para aumentar el rendimiento, y no enviar al daemon ficheros innecesarios podemos hacer uso de un fichero.dockerignore
, para excluir ficheros y directorios. - No instalar paquetes innecesarios: Para reducir la complejidad, dependencias, tiempo de creación y tamaño de la imagen resultante, se debe evitar instalar paquetes extras o innecesarios. Si algún paquete no es necesario durante la creación de la imagen, lo mejor es desinstalarlo durante el proceso.
- Minimizar el número de capas: Debemos encontrar el balance entre la legibilidad del Dockerfile y minimizar el número de capa que utiliza.
-
Indicar las instrucciones a ejecutar en múltiples líneas: Cada vez que sea posible y para hacer más fácil futuros cambios, hay que organizar los argumentos de las instrucciones que contengan múltiples líneas, esto evitará la duplicación de paquetes y hará que el archivo sea más fácil de leer. Por ejemplo:
RUN apt-get update && apt-get install -y \ git \ wget \ apache2 \ php5