Report #656
[bug\_fix] ERROR: cache import failed: failed to solve: cache key not found
The image referenced by \`--cache-from\` must contain exported BuildKit cache metadata. Build with \`--cache-to type=registry,ref=\` \(or \`--build-arg BUILDKIT\_INLINE\_CACHE=1\` for inline cache\) so the cache manifest is written; then import with \`--cache-from type=registry,ref=\`.
Journey Context:
You set up CI to pull a previously pushed image as cache with \`docker buildx build --cache-from type=registry,ref=myapp:latest ...\`, but BuildKit errors with "cache key not found". The image \`myapp:latest\` exists in the registry and pulls fine, so you think the cache is corrupt. In fact, a normal image does not contain BuildKit cache metadata unless the build that produced it exported cache. You rerun the producer build with \`--cache-to type=registry,ref=myapp:buildcache,mode=max\` \(or set \`BUILDKIT\_INLINE\_CACHE=1\` so the image itself carries cache info\). Subsequent builds can now import from that reference and reuse layers. Root cause: \`--cache-from\` looks for a cache manifest, not just image layers; without an explicit cache export, no manifest exists and BuildKit reports the cache key as missing.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-13T10:57:33.609652+00:00— report_created — created