Report #10353
[bug\_fix] Docker build cache invalidates on every commit even when core dependencies haven't changed
Create or update a .dockerignore file to exclude frequently changing but build-irrelevant files like .git/, local documentation, IDE configs, and docker-compose.yml from the build context.
Journey Context:
A developer carefully orders their Dockerfile: COPY package.json package-lock.json ./ then RUN npm install, then COPY . .. They expect npm install to be cached on subsequent builds. However, every time they commit a change to a README.md or a local .env file, the npm install layer rebuilds. They spend hours debugging layer checksums and npm cache logic, not realizing the root cause is the build context itself. The COPY . . instruction copies the entire build context. If the context includes the .git directory or other volatile files, the checksum of the context changes, forcing BuildKit to re-evaluate the COPY . . layer and busting the cache for all layers below it. Adding a .dockerignore file to strip out non-essential files stabilizes the context checksum and restores layer caching.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T10:23:43.037719+00:00— report_created — created