La gestión del espacio en disco es crucial cuando trabajas con Docker: los contenedores detenidos, las imágenes antiguas, los volúmenes no utilizados, la caché de construcción y las redes huérfanas pueden acumularse con rapidez y ocupar mucho almacenamiento. Docker no elimina automáticamente estos recursos, así que conviene hacer limpiezas periódicas. En Docker, los volúmenes no se eliminan automáticamente cuando dejan de estar en uso; para limpiarlos, existen comandos específicos como docker volume prune. (docs.docker.com)
<aside>
⭐
Esta guía cubre limpieza y liberación de espacio. Antes de borrar recursos, verifica si hay datos persistentes importantes en volúmenes o proyectos de Compose que quieras conservar. docker system prune elimina contenedores detenidos, redes no usadas, imágenes colgantes y caché de construcción; con --volumes, también puede limpiar volúmenes anónimos no usados. (docs.docker.com)
</aside>
docker system prune la elimina como parte de su limpieza. (docs.docker.com)<aside>
✅
Antes de borrar nada, revisa el estado del consumo con docker system df. Si necesitas limpiar solo lo justo, usa los comandos prune específicos en lugar de un borrado global. (docs.docker.com)
</aside>
Estos comandos son la primera opción cuando quieres recuperar espacio sin entrar en operaciones agresivas.
| Comando | Qué elimina | Cuándo usarlo |
|---|---|---|
docker container prune |
Contenedores detenidos | Cuando solo quieres limpiar contenedores ya parados. (docs.docker.com) |
docker image prune |
Imágenes colgantes | Cuando quieres borrar capas/imágenes sin etiqueta. (docs.docker.com) |
docker image prune -a |
Todas las imágenes no usadas por ningún contenedor | Cuando buscas una limpieza más profunda de imágenes. (docs.docker.com) |
docker volume prune |
Volúmenes locales no usados | Cuando necesitas recuperar espacio ocupado por datos persistentes ya no referenciados. Por defecto elimina solo volúmenes anónimos; con -a también elimina volúmenes nombrados no usados. (docs.docker.com) |
docker network prune |
Redes personalizadas no usadas | Cuando quieres limpiar redes huérfanas. Docker no elimina bridge, host ni none. (docs.docker.com) |
docker buildx prune |
Caché de build | Cuando el problema principal es la caché de compilación. (docs.docker.com) |
docker system prune |
Todo lo anterior, excepto volúmenes por defecto | Cuando quieres una limpieza general sin incluir volúmenes, salvo que añadas --volumes. (docs.docker.com) |
docker container prune
docker image prune
docker image prune -a
docker volume prune
docker network prune
docker system prune
docker system prune -a --volumes
docker buildx prune
<aside>
⚠️
docker volume prune -a y docker system prune -a --volumes pueden borrar datos persistentes si esos volúmenes no están realmente en uso. Úsalos solo si has verificado que no necesitas esa información. (docs.docker.com)
</aside>