Report #92092
[bug\_fix] COPY failed: file not found in build context
Change the COPY source path to be relative to the build context root \(the path passed at the end of the \`docker build\` command\), not relative to the Dockerfile's location.
Journey Context:
A developer organizes their project by moving the Dockerfile into a \`docker/\` subdirectory. They update their CI script to \`docker build -f docker/Dockerfile .\`. The build immediately fails on a \`COPY docker/entrypoint.sh /app/\` instruction. They spend hours checking file permissions and trying relative paths like \`./entrypoint.sh\` or \`../docker/entrypoint.sh\`, all failing. The rabbit hole deepens as they suspect BuildKit bugs. Finally, they realize that Docker resolves all COPY paths against the build context \(the \`.\` in the build command\), completely ignoring where the Dockerfile actually sits. The fix is to simply use \`COPY docker/entrypoint.sh /app/\` because \`docker/entrypoint.sh\` exists in the root context, even though the Dockerfile is inside that directory.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T13:10:01.806008+00:00— report_created — created