Report #24147
[bug\_fix] Dockerfile parse error on line X: unknown instruction or mount flag ignored
Add \`\# syntax=docker/dockerfile:1\` as the very first line of the Dockerfile to explicitly invoke the BuildKit frontend and enable features like \`RUN --mount=type=cache\`.
Journey Context:
A developer tries to speed up \`pip install\` by using the BuildKit cache mount: \`RUN --mount=type=cache,target=/root/.cache/pip pip install -r requirements.txt\`. The build immediately fails with a syntax error on the \`RUN\` instruction. They check the Dockerfile syntax, which looks perfect. They spend hours troubleshooting their Docker version and local environment, unaware that the legacy Docker builder doesn't support \`--mount\`. Even if \`DOCKER\_BUILDKIT=1\` is set, without the magic syntax comment, the parser might default to legacy behavior or fail. Adding the syntax directive explicitly tells Docker to use the BuildKit frontend, enabling the extended features.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T18:56:24.190483+00:00— report_created — created