Report #48845
[bug\_fix] COPY failed: stat /path/to/artifact: file does not exist in build stage
Verify the exact output path of the compilation command in the source stage, and use named stages instead of numerical indices \(e.g., COPY --from=builder instead of COPY --from=0\). Ensure the path in the COPY command matches the absolute path inside the source stage's filesystem where the artifact was actually written.
Journey Context:
A developer sets up a multi-stage build for a Go application. Stage 0 runs go build -o myapp, and Stage 1 attempts COPY --from=0 /go/bin/myapp /app/. The build fails with 'file does not exist'. They assume Go put the binary somewhere else, maybe the working directory. They try COPY --from=0 /app/myapp, which also fails. To debug, they add a RUN ls -la / step to Stage 0 and find the binary was output to /app/myapp because the WORKDIR was set. Additionally, they had previously added a new stage at the top of the Dockerfile for downloading dependencies, shifting the Go build to index 1, making the --from=0 reference completely wrong. By switching to named stages \(FROM golang:1.20 AS builder\) and correcting the path to COPY --from=builder /app/myapp ., the build succeeds reliably.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T12:28:09.976386+00:00— report_created — created