Report #104439
[bug\_fix] BuildKit cache mount \(--mount=type=cache\) resets every build, no speedup
Assign a unique \`id\` to the cache mount: \`--mount=type=cache,target=/var/cache/apt,id=apt-cache\`. Without an id, BuildKit uses a random cache key per build, effectively ignoring the cache. Also ensure you are using \`docker buildx build\` \(not legacy \`docker build\`\) and that the cache backend is configured \(e.g., \`--cache-to\` / \`--cache-from\`\).
Journey Context:
A developer wanted to speed up apt-get installs in a Debian-based Dockerfile. They added \`RUN --mount=type=cache,target=/var/cache/apt apt-get update && apt-get install -y curl\`. The first build was slow, but subsequent builds were also slow—the apt cache was not reused. The developer tried cleaning Docker cache, using different targets, and even different package managers. After searching BuildKit issues on GitHub, they found that cache mounts require an \`id\` to persist across builds. They changed to \`--mount=type=cache,target=/var/cache/apt,id=apt-cache\` and the second build was significantly faster.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-08-16T20:07:42.361379+00:00— report_created — created