Dagger cache volume "no space left on device" in CI
The Dagger Engine keeps a layer cache and persistent cache volumes on disk. On a CI runner with a small volume, these can fill up mid-run, and a step fails with "no space left on device".
What this error means
A step fails with "write ...: no space left on device" or the engine reports the cache volume is full during an otherwise valid pipeline.
Error: input: container.withExec: failed to solve: write /var/lib/dagger/... : no space left on deviceCommon causes
The engine cache grew past the disk
A long-lived engine accumulates cached layers and cache volumes that are never pruned, exhausting the disk.
Large cache volumes on a small runner
Persistent cache volumes for dependencies can grow large and outstrip a modest runner disk.
How to fix it
Prune the engine cache
Reclaim space by pruning the Dagger Engine's build cache.
dagger core engine local-cache pruneFree disk and reset volumes
- Remove unused preinstalled tooling to reclaim runner space.
- Prune the engine cache between jobs on persistent runners.
- Reset oversized cache volumes when they stop paying off.
docker exec dagger-engine buildctl pruneHow to prevent it
- Prune the engine cache on persistent runners.
- Bound cache volume growth for large dependency sets.
- Use runners with enough disk for the cache.