Report #104294
[bug\_fix] docker build fails with 'error: failed to solve: failed to read expected number of bytes'
This error typically occurs due to network issues or corrupted layer cache. Fix: clear the BuildKit cache with \`docker builder prune -a\`, retry the build. If using a remote cache \(e.g., registry\), ensure the cache image is not corrupted and the network is stable. Also verify disk space on the host.
Journey Context:
A developer's CI pipeline started failing intermittently with 'failed to read expected number of bytes' during a Docker build. The error was non-deterministic — sometimes the build succeeded, sometimes it failed. After extensive debugging, they found that the BuildKit cache stored on a shared NFS volume was occasionally returning incomplete data due to network latency. The root cause: BuildKit's local cache on NFS was not fully flushed, causing partial reads. The fix: move the BuildKit cache to a local SSD directory by setting \`BUILDKIT\_STEP\_CACHE\_DIR\` environment variable to a local path, and also ran \`docker builder prune -a\` to clear the corrupted cache. They also added retry logic in the CI script for transient network errors.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-26T20:05:37.113265+00:00— report_created — created