Saltar al contenido principal
Página

Buenas prácticas al crear dockerfiles

Los contenedores deber ser “efímeros”

Cuando decimos “efímeros” queremos decir que la creación, detención y 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 todos los ficheros del contexto se envían al docker engine, es recomendable usar un directorio vacío donde se irán creando los ficheros que se van 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 es innecesario durante la creación de la imagen, lo mejor es desinstalarlo durante el proceso.

Minimizar el número de capas

Pensando en una capa como un conjunto de cambios en el sistema de archivos. Cuando se toman todas las capas y se apilan, se obtiene una nueva imagen que contiene todos los cambios acumulados. A la hora de trabajar con capas se debe encontrar el balance entre la legibilidad del Dockerfile y minimizar el número de capas que utilizan.

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
Última modificación: viernes, 12 de junio de 2020, 01:48