docker buildx prune

DescriptionRemove build cache
Usagedocker buildx prune

Description

Clears the build cache of the selected builder.

Options

OptionDefaultDescription
-a, --allInclude internal/frontend images
--filterProvide filter values
-f, --forceDo not prompt for confirmation
--max-used-spaceMaximum amount of disk space allowed to keep for cache
--min-free-spaceTarget amount of free disk space after pruning
--reserved-spaceAmount of disk space always allowed to keep for cache
--verboseProvide a more verbose output

Examples

Include internal/frontend images (--all)

The --all flag to allow clearing internal helper images and frontend images set using the #syntax= directive or the BUILDKIT_SYNTAX build argument.

Provide filter values (--filter)

You can finely control which cache records to delete using the --filter flag.

The filter format is in the form of <key><op><value>, known as selectors. All selectors must match the target object for the filter to be true. We define the operators = for equality, != for not equal and ~= for a regular expression.

Valid filter keys are:

  • until flag to keep records that have been used in the last duration time. Value is a duration string, e.g. 24h or 2h30m, with allowable units of (h)ours, (m)inutes and (s)econds.
  • id flag to target a specific image ID.
  • parents flag to target records that are parents of the specified image ID. Multiple parent IDs are separated by a semicolon (;).
  • description flag to target records whose description is the specified substring.
  • inuse flag to target records that are actively in use and therefore not reclaimable.
  • mutable flag to target records that are mutable.
  • immutable flag to target records that are immutable.
  • shared flag to target records that are shared with other resources, typically images.
  • private flag to target records that are not shared.
  • type flag to target records by type. Valid types are:
    • internal
    • frontend
    • source.local
    • source.git.checkout
    • exec.cachemount
    • regular

Examples:

docker buildx prune --filter "until=24h"
docker buildx prune --filter "description~=golang"
docker buildx prune --filter "parents=dpetmoi6n0yqanxjqrbnofz9n;kgoj0q6g57i35gdyrv546alz7"
docker buildx prune --filter "type=source.local"
docker buildx prune --filter "type!=exec.cachemount"
Note

Multiple --filter flags are ANDed together.

Maximum amount of disk space allowed to keep for cache (--max-used-space)

The --max-used-space flag allows setting a maximum amount of disk space that the build cache can use. If the cache is using more disk space than this value, the least recently used cache records are deleted until the total used space is less than or equal to the specified value.

The value is specified in bytes. You can use a human-readable memory string, e.g. 128mb, 2gb, etc. Units are case-insensitive.

Target amount of free disk space after pruning (--min-free-space)

The --min-free-space flag allows setting a target amount of free disk space that should be available after pruning. If the available disk space is less than this value, the least recently used cache records are deleted until the available free space is greater than or equal to the specified value.

The value is specified in bytes. You can use a human-readable memory string, e.g. 128mb, 2gb, etc. Units are case-insensitive.

Amount of disk space always allowed to keep for cache (--reserved-space)

The --reserved-space flag allows setting an amount of disk space that should always be kept for the build cache. If the available disk space is less than this value, the least recently used cache records are deleted until the available free space is greater than or equal to the specified value.

The value is specified in bytes. You can use a human-readable memory string, e.g. 128mb, 2gb, etc. Units are case-insensitive.

Override the configured builder instance (--builder)

Same as buildx --builder.