Report #85222
[bug\_fix] COPY failed: file not found in build context: requires at least one argument
Ensure the source path in the COPY instruction is relative to the root of the build context \(the directory passed as the last argument to \`docker build\`\), not relative to the Dockerfile's location. Remove any \`../\` attempts to reach outside the context, and verify the file isn't excluded by \`.dockerignore\`.
Journey Context:
A developer moves their Dockerfile into a subdirectory \(e.g., \`docker/Dockerfile\`\) for better project organization. They run \`docker build -t myapp -f docker/Dockerfile .\` from the repo root. The Dockerfile contains \`COPY src/ /app/\`. The build fails with 'file not found'. The developer initially assumes the COPY path is relative to the Dockerfile, so they change it to \`COPY ../src/ /app/\`, which results in a 'forbidden path outside the build context' error. After checking file permissions and trying absolute paths, they realize Docker's COPY command always resolves paths relative to the build context root \(the \`.\` at the end of the build command\), completely ignoring where the Dockerfile actually lives. The fix is to revert to \`COPY src/ /app/\` because \`src/\` exists in the context root.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T01:37:55.422668+00:00— report_created — created