Skip to content

Releases: maximilianfeix/dockdu

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 05:46
9e5db85

Added

  • Anonymous volumes are marked. Volumes that Docker created without a name are flagged anonymous in the volume list and in JSON (volumes.items[].anonymous).
    • Docker creates them for an image VOLUME or for -v /path, and docker rm without -v leaves them behind.
    • dockdu still prints one docker volume rm hint per orphan and never a bulk command.

Fixed

  • Homebrew no longer warns on install. brew install and brew upgrade printed "Calling postflight is deprecated". The cask now removes the macOS quarantine flag with postflight_steps.
    • Tested: no warning, and the quarantine flag is gone. Without the step, the flag is present.

Full list: CHANGELOG

brew upgrade dockdu      # or: brew install maximilianfeix/tap/dockdu
go install github.com/maximilianfeix/dockdu/cmd/dockdu@v0.5.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.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 05:25
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

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 14 Oct 20:09
cb1ccb1

Fixed

  • Rootless Docker: the log rotation hint names ~/.config/docker/daemon.json, the file a rootless daemon reads, instead of /etc/docker/daemon.json. dockdu detects rootless mode from docker info (name=rootless) and reports daemon.rootless in JSON. Tested end to end on a rootless Engine 29.9 daemon: dockdu follows the CLI context, finds ~/.local/share/docker and measures the logs without root.

Security

  • Container log files are now listed through an os.Root on the data root. A container directory replaced by a symlink to somewhere outside the data root is no longer listed; that container is reported as unmeasured. Before, dockdu could report the sizes of files outside the data root, never their contents.

Full list: CHANGELOG

brew upgrade dockdu      # or: brew install maximilianfeix/tap/dockdu
go install github.com/maximilianfeix/dockdu/cmd/dockdu@v0.3.3
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.3.3

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:36
5b0e8d8

dockdu shows the Docker disk usage that docker system df leaves out, without deleting anything. This release finishes the 0.3 line.

0.3.2

  • Wrapped text never splits a size from its unit anymore. v0.3.1 printed "freed: 0", then "B" on the next line.

0.3.1

  • 80-column output. The text report now reads on an 80-column terminal; on containerd hosts the summary line used to run to about 190 columns. Tables and suggested commands stay on one line, so the commands remain copyable.
  • Least-privilege workflows. The release and CodeQL workflows grant write permissions per job.
  • Dependency. golang.org/x/sys v0.44.0 (GO-2026-5024, not reachable from dockdu).

0.3.0

  • Containerd image store: dockdu no longer claims that prune keeps build cache shared with images. Measured on disposable daemons with docker builder prune -af:

    Engine / image store Shared build cache Freed on disk
    28.5.2 / overlay2 64.0 MiB ≈ 0
    29.9.0 / containerd 140.7 MiB 72.7 MiB
  • Is the full disk Docker's at all? dockdu now prints the filesystem that holds the data root. dockdu --disk measures the data root like du -sx (within 0.1% on the test daemons) and shows how much of the same filesystem lies outside it.

Measurements: docs/verification/demo-2026-10-14.md · Full list: CHANGELOG

Install

brew install maximilianfeix/tap/dockdu        # or: brew upgrade dockdu
go install github.com/maximilianfeix/dockdu/cmd/dockdu@v0.3.2
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.3.2

Verify the archives with shasum -a 256 -c checksums.txt --ignore-missing.

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:29
7a30832

Changelog

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 18:52
ce79197

Changelog

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 18:16
d054f47

Changelog

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 18:30
ebf8794

Changelog