# docker volume prune

**Description:** Remove unused local volumes

**Usage:** `docker volume prune [OPTIONS]`










## Description

Remove all unused local volumes. Unused local volumes are those which are not
referenced by any containers. By default, it only removes anonymous volumes.


## Options

| Option | Default | Description |
|--------|---------|-------------|
| `-a`, `--all` |  | API 1.42+ Remove all unused volumes, not just anonymous ones |
| `--filter` |  |  Provide filter values (e.g. `label=<label>`) |
| `-f`, `--force` |  |  Do not prompt for confirmation |



## Examples

```console
$ docker volume prune

WARNING! This will remove anonymous local volumes not used by at least one container.
Are you sure you want to continue? [y/N] y
Deleted Volumes:
07c7bdf3e34ab76d921894c2b834f073721fccfbbcba792aa7648e3a7a664c2e

Total reclaimed space: 36 B
```

### Filtering (--all, -a) {#all}

Use the `--all` flag to prune both unused anonymous and named volumes.

### Filtering (--filter) {#filter}

The filtering flag (`--filter`) format is of "key=value". If there is more
than one filter, then pass multiple flags (e.g., `--filter "foo=bar" --filter "bif=baz"`).

When multiple filters are provided, they are combined as follows:

- Multiple filters with **different keys** are combined using AND logic.
  A volume must satisfy all filter conditions to be pruned.
- Multiple filters with the **same key** are combined using OR logic.
  A volume is pruned if it matches any of the values for that key.

For example, `--filter "label=foo" --filter "label=bar"` prunes volumes that
have **either** the `foo` **or** `bar` label, while
`--filter "label=foo" --filter "label!=bar"` prunes volumes that have the
`foo` label **and** do not have the `bar` label.

The currently supported filters are:

* label (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) - only remove volumes with (or without, in case `label!=...` is used) the specified labels.

The `label` filter accepts two formats. One is the `label=...` (`label=<key>` or `label=<key>=<value>`),
which removes volumes with the specified labels. The other
format is the `label!=...` (`label!=<key>` or `label!=<key>=<value>`), which removes
volumes without the specified labels.



