Saltar al contenido principal

🧹 Más comandos: eliminar contenedores y limpieza de Docker

A medida que trabajas con Docker, es normal que el espacio ocupado por imágenes, contenedores y caché aumente rápidamente.

En esta clase se presentan varios comandos muy útiles para inspeccionar cuánto espacio está utilizando Docker y realizar tareas de limpieza cuando sea necesario.

💾 Las imágenes de Docker ocupan bastante espacio

Uno de los primeros problemas con los que suele encontrarse cualquier desarrollador es el tamaño de las imágenes.

Es habitual tener varias imágenes instaladas que ocupan cientos de megabytes o incluso varios gigabytes.

Por ejemplo, imágenes de tecnologías como Node.js o Python pueden superar fácilmente el gigabyte cada una, haciendo que el consumo de disco crezca rápidamente.

📊 Consultar el uso de disco de Docker

Docker ofrece un comando muy útil para conocer cuánto espacio está utilizando internamente:

docker system df

Este comando muestra información sobre:

  • Imágenes
  • Caché de compilación
  • Recursos utilizados por Docker
  • Espacio total ocupado

Es una buena forma de comprobar si ha llegado el momento de realizar una limpieza.

🧽 Limpiar recursos que ya no se utilizan

Cuando existen contenedores detenidos, redes sin uso o caché acumulada, Docker permite eliminarlos con un único comando:

docker system prune

Este comando elimina automáticamente recursos que ya no están siendo utilizados, entre ellos:

  • Contenedores detenidos
  • Redes sin uso
  • Caché innecesaria
  • Otros recursos temporales

Después de ejecutarlo es habitual recuperar una cantidad considerable de espacio en disco.

📦 docker system prune no elimina todas las imágenes

Es importante conocer una limitación del comando anterior.

Aunque elimina muchos recursos innecesarios, no borra automáticamente todas las imágenes.

En muchos casos únicamente libera espacio eliminando caché, mientras que las imágenes continúan disponibles para reutilizarse posteriormente.

⚠️ Eliminar imágenes que no se utilizan

Si además de limpiar caché quieres eliminar imágenes que ya no están asociadas a ningún contenedor, puedes utilizar:

docker system prune -a

La opción -a amplía la limpieza eliminando también las imágenes no utilizadas.

Esto puede liberar bastante espacio, pero también significa que, si vuelves a necesitarlas, Docker tendrá que descargarlas nuevamente.

🚨 Utiliza -a con precaución

Antes de ejecutar:

docker system prune -a

Conviene asegurarse de que realmente ya no necesitas esas imágenes.

Si ninguna está asociada a un contenedor, Docker podrá eliminarlas todas, dejando el sistema sin imágenes locales y obligando a descargarlas otra vez cuando vuelvas a utilizarlas.

📌 Ideas clave de esta clase

Quédate con estos conceptos:

  • Las imágenes de Docker pueden ocupar mucho espacio.
  • docker system df permite conocer el uso de disco de Docker.
  • docker system prune elimina recursos que ya no están en uso.
  • Este comando limpia principalmente contenedores detenidos, redes y caché.
  • docker system prune no elimina todas las imágenes.
  • docker system prune -a también elimina imágenes no utilizadas.
  • La opción -a debe utilizarse con cuidado porque obliga a volver a descargar las imágenes eliminadas.

🚀 Mantén Docker limpio

Realizar limpiezas periódicas ayuda a evitar que Docker consuma grandes cantidades de espacio en disco.

Conocer estos comandos de mantenimiento te permitirá mantener un entorno de desarrollo más ligero y evitar problemas derivados del almacenamiento acumulado.