Report #49649
[bug\_fix] COPY failed: stat : file does not exist when using COPY --from=builder
Verify the absolute path of the artifact in the builder stage by running a temporary container or adding an ls step, and update the COPY --from source path to match exactly.
Journey Context:
A developer sets up a multi-stage build. Stage 1 \(named builder\) compiles a Go binary. They expect it to be in /app/my-app, so Stage 2 uses COPY --from=builder /app/my-app /usr/local/bin/my-app. The build fails with 'file does not exist'. They assume the stage name isn't resolving and try COPY --from=0, but get the same error. The rabbit hole involves questioning whether multi-stage builds share volumes or if the build step failed. They finally realize that COPY --from copies from the filesystem of the \*completed\* previous stage. The compile command in the builder stage actually outputted the binary to /go/bin/my-app, not /app/my-app. Because the file wasn't at the expected absolute path in the builder stage, the copy failed. The fix is to inspect the builder stage's actual output path and correct the COPY instruction.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:49:14.772757+00:00— report_created — created