19.3.1.1 Df Disk Summary
A focused guide to Df Disk Summary, connecting core concepts with practical Docker and container operations.
The disk summary produced by docker system df is the default, non-verbose output of the command. It presents a compact four-column table that gives an at-a-glance measurement of Docker's total disk footprint, categorized by resource type, without listing individual resources. This summary is designed to answer two questions quickly: how much disk space is Docker using, and how much of that could be freed.
Running the Command
docker system df
The Summary Table
The output is a fixed-format table with five columns and one row per Docker resource category:
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 14 5 4.1GB 2.3GB (56%)
Containers 11 3 312MB 278MB (89%)
Local Volumes 7 3 1.4GB 820MB (58%)
Build Cache 62 0 1.1GB 1.1GB
Images Row
The Images row accounts for all image layers stored on the host. Docker images are stored as stacked layers, and the SIZE column reflects the total uncompressed size of all layers across all images. Layers shared between multiple images are counted once.
- TOTAL: Every image stored on the host, including tagged images, untagged (dangling) images, and images pulled as intermediate steps.
- ACTIVE: Images that are referenced by at least one container — running or stopped — on this host.
- SIZE: The actual disk space consumed by all image data.
- RECLAIMABLE: The space that could be freed by
docker image prune. This includes dangling images (not tagged, not referenced by a container) and, if you usedocker image prune --all, images that are tagged but not referenced by any container.
Containers Row
The Containers row reflects the size of each container's writable layer — the copy-on-write layer that sits on top of the image and holds all changes the container made to the filesystem during its lifetime.
- TOTAL: Every container on the host, running and stopped.
- ACTIVE: Containers currently running.
- SIZE: Combined size of all container writable layers. This number is typically much smaller than the Images row because containers usually add a small amount of data on top of their image.
- RECLAIMABLE: Space freed by
docker container prune. Stopped containers have writable layers that are no longer needed once the container exits, unless you intend to restart or inspect them.
Local Volumes Row
The Local Volumes row covers Docker-managed volumes stored under the Docker data root directory (typically /var/lib/docker/volumes on Linux).
- TOTAL: All named and anonymous volumes on the host.
- ACTIVE: Volumes mounted by at least one currently running container.
- SIZE: Total size of all volume data across all local volumes.
- RECLAIMABLE: Space freed by
docker volume prune. This includes volumes not currently mounted by any running or stopped container.
Named volumes that are not mounted by any container appear as reclaimable, but should be reviewed carefully before pruning. A named volume may hold important persistent data (database files, uploaded content) even if no container is currently using it.
Build Cache Row
The Build Cache row tracks layers cached by the Docker build system from previous docker build or docker buildx build invocations. These cached layers speed up future builds by avoiding redundant work.
- TOTAL: Total number of cache entries.
- ACTIVE: Cache entries in active use. During a running build this may be non-zero; otherwise it is 0.
- SIZE: Total size of all build cache data.
- RECLAIMABLE: The entire build cache is typically reclaimable when no build is running. It is freed by
docker builder pruneor as part ofdocker system prune.
The Build Cache row does not show a percentage because 100% of build cache is reclaimable when inactive.
Reading the Reclaimable Column
The reclaimable column shows both the absolute size and a percentage of the total:
2.3GB (56%)
This means 56% of the total image storage could be freed. High reclaimable percentages indicate that a significant portion of Docker's disk usage is from unused resources and that cleanup would be effective.
A reclaimable value of 0B means every resource in that category is actively used and nothing can be safely freed without stopping containers or unmounting volumes.
Total Docker Disk Usage
The summary does not show a grand total row, but you can add up the SIZE column mentally or extract it with formatting. The combined total represents Docker's complete disk footprint separate from the host operating system and any non-Docker application data.
Practical Interpretation
If Images has a high reclaimable percentage:
The host has accumulated unused images — from previous deploys, pulled but abandoned images, or failed build intermediates. Run docker image prune or docker image prune --all.
If Containers shows most of its size as reclaimable:
Many stopped containers remain on the host. Run docker container prune.
If Local Volumes shows reclaimable space:
Orphaned volumes exist. Review them with docker volume ls before running docker volume prune to avoid deleting named volumes with important data.
If Build Cache is large:
Previous builds left significant cached data. If build speed is not a priority, run docker builder prune to reclaim the space.
The disk summary is the starting point for any Docker disk management task. Running it before and after cleanup operations confirms what was reclaimed and whether further action is needed.