# docker system prune

**Descripción:** Remove unused data

**Uso:** `docker system prune [OPTIONS]`










## Descripción

Elimina todos los contenedores, redes e imágenes no utilizados (tanto los no etiquetados como los no utilizados) y, opcionalmente, los volúmenes.


## Opciones

| Opción                                                        | Predeterminado                                        | Descripción                                                                                                                                    |
| ------------------------------------------------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | `-a`, `--all` |  |  Elimina todas las imágenes no utilizadas, no solo las que no tienen etiquetas (dangling) |

 | `--filter` |  | API 1.28+ Proporciona valores de filtrado (por ejemplo, `label=<clave>=<valor>`) |

 | `-f`, `--force` |  |  No solicita confirmación |

 | `--volumes` |  |  Elimina (prune) los volúmenes anónimos |




## Ejemplos

```console
$ docker system prune

WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all dangling images
        - unused build cache
Are you sure you want to continue? [y/N] y

Deleted Containers:
f44f9b81948b3919590d5f79a680d8378f1139b41952e219830a33027c80c867
792776e68ac9d75bce4092bc1b5cc17b779bc926ab04f4185aec9bf1c0d4641f

Deleted Networks:
network1
network2

Deleted Images:
untagged: hello-world@sha256:f3b3b28a45160805bb16542c9531888519430e9e6d6ffc09d72261b0d26ff74f
deleted: sha256:1815c82652c03bfd8644afda26fb184f2ed891d921b20a0703b46768f9755c57
deleted: sha256:45761469c965421a92a69cc50e92c01e0cfa94fe026cdd1233445ea00e96289a

Total reclaimed space: 1.84kB
```

Por defecto, los volúmenes no se eliminan para evitar que se borren datos importantes si actualmente no hay ningún contenedor que los utilice. Utiliza la opción `--volumes` al ejecutar el comando para eliminar también los volúmenes anónimos:

```console
$ docker system prune -a --volumes

WARNING! This will remove:
        - all stopped containers
        - all networks not used by at least one container
        - all anonymous volumes not used by at least one container
        - all images without at least one container associated to them
        - all build cache
Are you sure you want to continue? [y/N] y

Deleted Containers:
0998aa37185a1a7036b0e12cf1ac1b6442dcfa30a5c9650a42ed5010046f195b
73958bfb884fa81fa4cc6baf61055667e940ea2357b4036acbbe25a60f442a4d

Deleted Networks:
my-network-a
my-network-b

Deleted Volumes:
1e31bcd425e913d9f65ec0c3841e9c4ebb543aead2a1cfe0d95a7c5e88bb5026
6a6ab3d6b8d740a1c1d4dbe36a9c5f043dd4bac5f78abfa7d1f2ae5789fe60b0

Deleted Images:
untagged: my-curl:latest
deleted: sha256:7d88582121f2a29031d92017754d62a0d1a215c97e8f0106c586546e7404447d
deleted: sha256:dd14a93d83593d4024152f85d7c63f76aaa4e73e228377ba1d130ef5149f4d8b
untagged: alpine:3.3
deleted: sha256:695f3d04125db3266d4ab7bbb3c6b23aa4293923e762aa2562c54f49a28f009f
untagged: alpine:latest
deleted: sha256:ee4603260daafe1a8c2f3b78fd760922918ab2441cbb2853ed5c439e59c52f96
deleted: sha256:9007f5987db353ec398a223bc5a135c5a9601798ba20a1abba537ea2f8ac765f
deleted: sha256:71fa90c8f04769c9721459d5aa0936db640b92c8c91c9b589b54abd412d120ab
deleted: sha256:bb1c3357b3c30ece26e6604aea7d2ec0ace4166ff34c3616701279c22444c0f3
untagged: my-jq:latest
deleted: sha256:6e66d724542af9bc4c4abf4a909791d7260b6d0110d8e220708b09e4ee1322e1
deleted: sha256:07b3fa89d4b17009eb3988dfc592c7d30ab3ba52d2007832dffcf6d40e3eda7f
deleted: sha256:3a88a5c81eb5c283e72db2dbc6d65cbfd8e80b6c89bb6e714cfaaa0eed99c548

Total reclaimed space: 13.5 MB
```

### Filtrado (--filter) {#filter}

El formato de la opción de filtrado (`--filter`) es "clave=valor". Si hay más de un filtro, pasa múltiples opciones (por ejemplo, `--filter "foo=bar" --filter "bif=baz"`).

Cuando se proporcionan múltiples filtros, se combinan de la siguiente manera:

- Los filtros múltiples con **diferentes claves** se combinan utilizando la lógica AND. Un elemento debe cumplir todas las condiciones del filtro para ser eliminado.
- Los filtros múltiples con la **misma clave** se combinan utilizando la lógica OR. Un elemento se elimina si coincide con cualquiera de los valores de esa clave.

Por ejemplo, `--filter "label=foo" --filter "until=24h"` elimina los elementos que tienen la etiqueta `foo` **y** que fueron creados hace más de 24 horas. Por el contrario, `--filter "label=foo" --filter "label=bar"` elimina los elementos que tienen la etiqueta `foo` **o** `bar`.

Los filtros admitidos actualmente son:

* until (`<timestamp>`) - solo elimina contenedores, imágenes y redes creados antes de la marca de tiempo indicada
* label (`label=<clave>`, `label=<clave>=<valor>`, `label!=<clave>` o `label!=<clave>=<valor>`) - solo elimina contenedores, imágenes, redes y volúmenes con (o sin, en caso de utilizar `label!=...`) las etiquetas especificadas.

El filtro `until` puede ser marcas de tiempo de Unix, marcas de tiempo con formato de fecha o cadenas de duración de Go admitidas por [ParseDuration](https://pkg.go.dev/time#ParseDuration) (por ejemplo, `10m`, `1h30m`) calculadas con respecto a la hora de la máquina del demonio. Los formatos admitidos para marcas de tiempo con formato de fecha incluyen RFC3339Nano, RFC3339, `2006-01-02T15:04:05`, `2006-01-02T15:04:05.999999999`, `2006-01-02T07:00` y `2006-01-02`. Se utilizará la zona horaria local del demonio si no proporcionas un desfase de zona horaria `Z` o `+-00:00` al final de la marca de tiempo. Al proporcionar marcas de tiempo de Unix, introduce segundos[.nanosegundos], donde segundos es el número de segundos transcurridos desde el 1 de enero de 1970 (medianoche UTC/GMT), sin contar los segundos intercalares (también conocido como Unix epoch o Unix time), y el campo opcional .nanosegundos es una fracción de segundo de no más de nueve dígitos de longitud.

El filtro `label` admite dos formatos. Uno es el `label=...` (`label=<clave>` o `label=<clave>=<valor>`), que elimina contenedores, imágenes, redes y volúmenes con las etiquetas especificadas. El otro formato es `label!=...` (`label!=<clave>` o `label!=<clave>=<valor>`), que elimina contenedores, imágenes, redes y volúmenes sin las etiquetas especificadas.



