Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 05:25
· 6 commits to main since this release
3a93cb2

Two places where disk space hides from docker system df, both measured on disposable Engine 28.5 and 29.9 daemons (verification log).

Added

  • buildx builders. A builder made with docker buildx create --driver docker-container keeps its whole cache in the volume buildx_buildkit_<node>_state.
    • In the test, df's build cache row said 0 B while the builder held 70 MiB.
    • docker builder prune -af freed nothing; docker buildx prune --builder=ci freed 71 MiB.
    • dockdu now lists these builders under BUILD CACHE, marks their volumes and prints the prune command for each builder.
  • --disk: overlay2 by owner. The directories under overlay2/ are split into image layers, container layers and directories with no record, using the graph driver's own layer records.
    • When the unrecorded part is at least 64 MiB and at least a tenth of overlay2, more than all private build cache could explain, dockdu reports it as likely leftovers and lists the largest directories.
    • No Docker command lists such leftovers, and no prune removes them.
  • Images hidden by the containerd image store. After a switch to the containerd image store, Docker hides the old overlay2 images but keeps them on disk.
    • In the test: docker system df 0 B, docker system prune -af freed 0 B, 71.8 MiB on disk.
    • dockdu reports this even without --disk.

Changed

  • With --disk, dockdu also reads the overlay2 layer ID files. Each holds only a short ID and is read through os.Root. No new Docker API call; JSON only gains keys, schema_version stays 1.

Full list: CHANGELOG

brew upgrade dockdu      # or: brew install maximilianfeix/tap/dockdu
go install github.com/maximilianfeix/dockdu/cmd/dockdu@v0.4.0
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro -v /var/lib/docker:/var/lib/docker:ro ghcr.io/maximilianfeix/dockdu:v0.4.0