Saltar al contenido

Aprende a Mantener Bajo Control el Uso de Disco de tu Entorno Local de Docker

Descubre nuevas opciones que tienes a tu disposición para hacer un uso eficiente del disco en tu instalación de Docker

Foto de Dominik Lückmann en Unsplash

El auge del contenedor ha sido un cambio de juego para todos nosotros, no solo en el lado del servidor donde prácticamente cualquier nueva carga de trabajo que implementamos se despliega en forma de contenedor, sino también en nuestros entornos locales ocurre el mismo cambio.

Adoptamos contenedores para gestionar fácilmente las diferentes dependencias que necesitamos manejar como desarrolladores. Incluso si la tarea en cuestión no estaba relacionada con contenedores. ¿Necesitas una base de datos en funcionamiento? Usas una versión en contenedor de ella. ¿Necesitas un sistema de mensajería para probar algunas de tus aplicaciones? Inicias rápidamente un contenedor que proporciona esa funcionalidad.

Y tan pronto como no los necesitas, se eliminan, y tu sistema sigue tan limpio como estaba antes de comenzar esta tarea. Pero siempre hay cosas que necesitamos manejar incluso cuando tenemos una solución maravillosa frente a nosotros, y en el caso de un entorno Docker local, el uso del disco es uno de los más críticos.

Este proceso de lanzar cosas nuevas una y otra vez y luego deshacernos de ellas es cierto en cierto modo porque todas estas imágenes que hemos necesitado y todos estos contenedores que hemos lanzado todavía están allí en nuestro sistema esperando una nueva ronda y durante ese tiempo usando nuestros recursos de disco como puedes ver en una imagen actual de mi entorno Docker local con más de 60 GB utilizados para ese propósito.

Imagen de la página de configuración del panel de control de Docker que muestra la cantidad de disco que Docker está usando.

Lo primero que necesitamos hacer es verificar qué está usando esta cantidad de espacio para ver si podemos liberar algunos de ellos. Para hacer eso, podemos aprovechar el comando docker system df que la CLI de Docker nos proporciona:

La salida de la ejecución del comando docker system df

Como puedes ver, los 61 GB que están en uso son 20.88 GB por las imágenes que tengo en uso, 21.03 MB solo para los contenedores que he definido, 1.25 GB para los volúmenes locales y 21.07 para la caché de construcción. Como solo tengo activos 18 de las 26 imágenes definidas, puedo reclamar hasta 9.3 GB, que es una cantidad importante.

Si quisiéramos obtener más detalles sobre estos datos, siempre podemos usar la opción verbose como un añadido al comando, como puedes ver en la imagen a continuación:

Salida detallada y detallada del comando docker system df -v

Entonces, después de obtener toda esta información, podemos proceder y ejecutar una limpieza de tu sistema. Esta actividad eliminará cualquier contenedor e imagen no utilizados que tengas en tu sistema, y para ejecutar eso, solo necesitas escribir esto:

docker system prune -af

Tiene varias opciones para ajustar un poco la ejecución que puedes consultar en la página oficial de Docker :

En mi caso, eso me ayudó a recuperar hasta 40.8 GB de mi sistema, como puedes ver en la imagen a continuación.

Pero si quisieras avanzar un paso más, también puedes ajustar algunas propiedades para considerar dónde estás ejecutando esta limpieza. Por ejemplo, el defaultKeepStorage te ayudará a definir cuánto disco quieres usar para este sistema de caché de construcción para optimizar la cantidad de uso de red que haces al construir imágenes con capas comunes.

Para hacer eso, necesitas tener el siguiente fragmento en tu sección de configuración del motor de Docker, como se muestra en la imagen a continuación:

Configuración del motor de Docker con el defaultKeepStorage hasta 20GB

Espero que todo este proceso de mantenimiento ayude a que tus entornos locales brillen nuevamente y aproveches al máximo sin necesidad de desperdiciar muchos recursos en el proceso.

Etiquetas: