Report #95758
[bug\_fix] failed to solve with frontend dockerfile.v0: failed to read dockerfile: pull access denied / rate limit exceeded
Remove the '\# syntax=docker/dockerfile:1' directive from the top of the Dockerfile if the default BuildKit frontend supports the required features, or pull the syntax image and push it to a private registry, updating the directive to point to the private registry image.
Journey Context:
A developer adds '\# syntax=docker/dockerfile:1.3' to the top of their Dockerfile to enable BuildKit features like '--mount=type=cache'. It works perfectly on their local machine. In their corporate CI environment, the build immediately fails with 'pull access denied' or 'rate limit exceeded' before even processing the first FROM instruction. They spend hours debugging Docker Hub credentials, checking registry logins, and verifying network access. The breakthrough comes when they realize the '\# syntax=' directive forces BuildKit to pull a special Dockerfile frontend image \(the BuildKit syntax parser\) from Docker Hub \*before\* it even starts the build. Because the CI environment has strict egress rules or unauthenticated Docker Hub rate limits, this initial pull fails. The fix is to either remove the directive entirely \(since modern Docker versions include BuildKit natively and support these features without the directive\) or mirror the 'docker/dockerfile' image to their private corporate registry and update the directive to '\# syntax=corporate-registry/dockerfile:1.3'.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T19:18:40.504334+00:00— report_created — created