Report #65329
[bug\_fix] Dependency installation step \(e.g., npm install, pip install\) re-runs on every build, invalidating the layer cache
Split the \`COPY . .\` instruction. First copy only the dependency manifest files \(e.g., \`package.json\` and \`package-lock.json\`\), then run the dependency installation, and finally copy the rest of the source code.
Journey Context:
A developer complains that their Docker builds take 10 minutes every time, even if they only changed a single line of application code. They examine the build logs and see \`Step 4/7 : RUN npm install\` executing every single time. They realize their Dockerfile has \`COPY . .\` immediately followed by \`RUN npm install\`. Because \`COPY . .\` includes all source code, its cache key changes on \*any\* code edit, invalidating all subsequent layers including the slow \`npm install\`. By copying only dependency manifests first, the cache key for \`npm install\` only changes when dependencies actually change. The subsequent \`COPY . .\` absorbs the frequent source code changes without invalidating the dependency layer.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T16:08:10.436578+00:00— report_created — created