Tanto en Linux como en Windows, Docker genera una gran cantidad de archivos basura con el tiempo.
¡Hoy aprendí un comando que liberó 30G de espacio en mi Windows de una sola vez!
`docker system prune -a --volumes` **es un comando oficial de limpieza potente de un solo clic que puede liberar decenas de GB de espacio en disco al instante.**
*Aviso previo: Si no está seguro de si necesita conservar algún volumen, lea las soluciones alternativas al final del artículo.*
## I. ¿Qué eliminó este comando?
Elimina todos los recursos de Docker **no utilizados** de un solo golpe, incluyendo:
- **`-a` (o `--all`)**: Elimina todos los contenedores detenidos y **todas las imágenes no utilizadas por contenedores en ejecución** (ya no se limita a imágenes "dangling" sin etiqueta).
- **`--volumes`**: Elimina **todos los volúmenes de datos no montados por ningún contenedor** (generalmente datos residuales de bases de datos o aplicaciones).
- **Redes y caché**: Elimina redes no utilizadas y caché de construcción.
> ⚠️ **Principio fundamental**: Siempre que un contenedor esté en estado **Running (en ejecución)**, los contenedores, imágenes y volúmenes de datos de los que depende **nunca** se eliminarán.
## II. Advertencia de riesgo (leer antes de ejecutar)
Antes de presionar Enter, asegúrese de:
1. No ha detenido temporalmente (Stop) contenedores importantes que planea iniciar más tarde.
2. No ha dejado deliberadamente volúmenes huérfanos (por ejemplo, volúmenes de datos de MySQL) para una futura restauración de datos.
3. **¡Una vez eliminados, los datos no se pueden recuperar!**
## III. Pasos de uso práctico
### 1. Verificar el estado de ejecución
Primero, asegúrese de que los contenedores importantes estén en ejecución:
```Bash
docker ps
```
### 2. Ejecutar la limpieza
Ingrese el comando en la terminal:
```Bash
docker system prune -a --volumes
```
### 3. Confirmar la ejecución
El sistema le mostrará una advertencia y le preguntará. Ingrese **`y`** y presione Enter:
```Plaintext
Are you sure you want to continue? [y/N] y
```
### 4. Resultados
Una vez completada la limpieza, se mostrará el espacio liberado en la parte inferior:
```Plaintext
Total reclaimed space: 14.52GB # ¡Recuperó con éxito 14.52 GB de espacio!
```
## Soluciones alternativas (limpieza más suave)
Una solución más suave es eliminar los parámetros, como se muestra a continuación:
```Bash
# Solo elimina contenedores detenidos e imágenes "dangling" (lo más seguro, no elimina imágenes grandes ni datos)
docker system prune
# No elimina volúmenes de datos, solo contenedores detenidos e imágenes no utilizadas
docker system prune -a
```