🧹 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 dfpermite conocer el uso de disco de Docker.docker system pruneelimina recursos que ya no están en uso.- Este comando limpia principalmente contenedores detenidos, redes y caché.
docker system pruneno elimina todas las imágenes.docker system prune -atambién elimina imágenes no utilizadas.- La opción
-adebe 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.