Report #79477
[bug\_fix] Unable to locate package during apt-get install in Dockerfile
Combine \`apt-get update\` and \`apt-get install\` in a single \`RUN\` instruction \(e.g., \`RUN apt-get update && apt-get install -y curl\`\) to ensure the package lists and the installation are cached together as a single layer.
Journey Context:
A developer splits \`RUN apt-get update\` and \`RUN apt-get install -y curl\` into separate layers to make the Dockerfile look cleaner. A week later, they add \`wget\` to the install line: \`RUN apt-get install -y curl wget\`. The build fails, unable to locate \`wget\`. They are baffled because \`wget\` exists in the Debian repositories. The root cause is Docker layer caching: the \`apt-get update\` layer was built a week ago and is cached. The modified \`apt-get install\` layer runs against those week-old package lists, which point to repository mirrors that have since cycled out the specific indices needed for \`wget\`. Combining them into one \`RUN\` statement works because any change to the \`apt-get install\` package list invalidates the cache for the entire \`RUN\` block, forcing \`apt-get update\` to fetch fresh lists in the same step.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T16:00:24.635412+00:00— report_created — created