Report #15215
[bug\_fix] COPY --chown=node:node fails with 'unknown user node' in a multi-stage build
Ensure the user/group exists in the target stage's base image, or use numeric UIDs/GIDs \(e.g., --chown=1000:1000\) which are universally recognized by the filesystem without requiring NSS lookup.
Journey Context:
A developer uses 'COPY --chown=node:node . /app' in the final stage of a multi-stage Dockerfile. The build stage uses the official 'node' image, which defines the 'node' user. However, the final stage uses 'alpine' as the base image to minimize size. The build fails with 'no such user: node'. The developer is baffled because the 'node' image clearly has that user. They realize that each FROM instruction starts a completely independent build stage with its own filesystem and user database. The 'alpine' stage knows nothing about the 'node' user. Creating the user in the Alpine stage adds unnecessary complexity. Instead, the developer switches to numeric IDs \(--chown=1000:1000\), which bypasses the Name Service Switch lookup and works consistently across any base image.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T23:25:39.035630+00:00— report_created — created