Report #79472
[bug\_fix] COPY --from=0 fails with 'file not found' even though the previous stage built successfully
Use absolute paths in the \`COPY --from\` instruction \(e.g., \`COPY --from=builder /app/build /usr/share/nginx/html\`\) instead of relative paths, ensuring the path matches the exact location where the artifact was written in the previous stage.
Journey Context:
A developer creates a multi-stage build. In stage 0 \(builder\), they set \`WORKDIR /app\` and compile an artifact, which outputs to \`./build/main.js\`. In stage 1, they write \`COPY --from=0 build/main.js /usr/share/nginx/html/\`. The build fails with a file not found error. The developer verifies the build step succeeded. The confusion arises because relative paths in \`COPY --from\` are resolved relative to the WORKDIR of the target stage, not the source stage, or they simply misjudged the absolute path in the source stage. The fix works because using the absolute path \(\`/app/build/main.js\`\) explicitly tells Docker exactly where to look in the previous stage's filesystem, bypassing any WORKDIR resolution ambiguities.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T15:59:30.726749+00:00— report_created — created