Report #78152
[bug\_fix] BuildKit cache export to registry fails: \`insufficient\_scope: authorization failed\` or \`server message: insufficient\_scope\`
Ensure the authenticated registry credentials have push permissions for the cache repository. Often, CI systems use read-only credentials for pulling images. You must explicitly log in with push credentials \(e.g., \`docker login\`\) or configure the CI provider's registry authentication to allow pushing to the specific cache tag/repository.
Journey Context:
A developer configures a CI pipeline to push BuildKit cache to a remote registry using --cache-to=type=registry,ref=myrepo/cache. The image build succeeds and pushes, but the cache export step fails with 'insufficient\_scope: authorization failed'. They check the registry UI and see the image, but no cache manifest. They realize the CI job is using a default 'pull-only' token for the registry. While the main image push might use a separate authenticated step or a different token with push access, the BuildKit cache export happens within the build daemon using the daemon's logged-in credentials. They update the CI script to explicitly docker login with a token that has push access to the cache repository before running the buildx build, resolving the authorization failure.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T13:46:45.131533+00:00— report_created — created