podman-volume-prune - Remove unused volumes
podman volume prune [options]
Remove unused volumes. By default only anonymous (unnamed) unused volumes are removed. Anonymous volumes are those created with a container (e.g. podman run -v /path without a volume name). Use --all (or -a) to remove all unused volumes, including named ones.
The --filter flag can be used to restrict which volumes are considered. Users are prompted to confirm removal unless --force is used.
Remove all unused volumes (anonymous and named). Without this option, only anonymous unused volumes are removed.
--all can be combined with --filter: --all widens the set of candidate volumes to all unused ones, and the filters then restrict which of those are removed. For example, --all --filter label!=keep removes every unused volume that does not have the keep label.
Show which volumes would be pruned without removing them.
Provide filter values.
If there is more than one filter, the --filter option
should be passed multiple times: --filter
label=test --filter until=10m.
Filters with the same key work inclusive, with the only exception
being label which is exclusive. Filters with different keys
always work exclusive.
Supported filters:
| Filter | Description |
|---|---|
| all | [Bool] When true, remove all unused volumes (same as --all). When false or unset, only anonymous volumes are considered. |
| anonymous | [Bool] Only remove volumes that are anonymous (true) or named (false). |
| label | [String] Only remove volumes, with (or without, in the case of label!=[...] is used) the specified labels. |
| label! | [String] Only remove volumes without the specified labels. |
| until | [DateTime] Only remove volumes created before given timestamp. |
| after/since | [Volume] Filter by volumes created after the given VOLUME (name or tag) |
The label filter accepts two formats. One is
the label=key or
label=key=value, which removes volumes
with the specified labels. The other format is the
label!=key or
label!=key=value, which removes volumes
without the specified labels.
NOTE: label! filters are combined with
AND, so that the behavior is consistent with
label, while in Docker, they are combined with
OR.
The until filter can be Unix timestamps, date
formatted timestamps, or Go duration strings (e.g. 10m, 1h30m) computed
relative to the machine's time.
Do not prompt for confirmation.
Print usage statement
Prune only anonymous unused volumes (default).
$ podman volume prune
Prune only anonymous unused volumes without confirmation.
$ podman volume prune --force
Prune all unused volumes (anonymous and named).
$ podman volume prune --all --force
Prune all unused volumes except those with a specific label (combine --all with a filter).
$ podman volume prune --all --force --filter label!=keep
Prune all unused volumes using the filter (equivalent to --all).
$ podman volume prune --filter all=true --force
Prune unused volumes that have the specified label.
$ podman volume prune --filter label=mylabel=mylabelvalue
Prune unused volumes that do NOT have a specific label key/value:
$ podman volume prune --filter label!=mylabel=mylabelvalue
Prune unused volumes that have a specific label key (regardless of value):
$ podman volume prune --filter label=environment
Prune unused volumes that do NOT have a specific label key:
$ podman volume prune --filter label!=environment
Preview all unused volumes without removing them.
$ podman volume prune --all --dry-run
November 2018, Originally compiled by Urvashi Mohnani umohnani@redhat.com