Report #6568
[bug\_fix] ERROR: failed to solve: process "/bin/sh -c RUN --mount=type=cache..." did not complete successfully or failed to parse Dockerfile: RUN --mount is not allowed
Add the \`\# syntax=docker/dockerfile:1\` directive to the very first line of the Dockerfile. BuildKit requires this directive to enable the extended features like \`--mount=type=cache\`.
Journey Context:
A developer switches to BuildKit to take advantage of persistent package caches during builds. They add \`RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt\` to their Dockerfile. The build immediately fails with a syntax error. They spend hours tweaking the mount syntax, checking BuildKit versions, and verifying environment variables, assuming their BuildKit installation is broken. Finally, they realize that without the \`\# syntax=docker/dockerfile:1\` magic comment at the top of the Dockerfile, the Docker daemon falls back to the legacy builder, which does not understand the \`--mount\` flag. Adding the directive instructs BuildKit to use the modern frontend that parses and executes these advanced features.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T00:22:21.911674+00:00— report_created — created