Report #14831
[bug\_fix] Build cache invalidated on every build despite no changes to copied files \(e.g., RUN npm install always re-running\)
Reorder the Dockerfile to copy dependency definition files \(like package.json or requirements.txt\) and run the install step before copying the rest of the application source code.
Journey Context:
A developer notices their \`RUN npm install\` step takes 5 minutes on every build, completely ignoring the cache. They check the build output and see \`CACHED\` for early steps, but the \`COPY . .\` step invalidates the cache. They realize \`COPY . .\` is copying the entire directory, including local log files, \`.env\` files, and frequently changing source code. Because the layer changes, all subsequent layers \(including npm install\) must rebuild. The fix is to leverage Docker's layer caching by copying only \`package.json\` and \`package-lock.json\` first, running \`npm install\`, and then copying the rest of the source code with \`COPY . .\`.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T22:28:39.438385+00:00— report_created — created