Slim down the main Docker image build#4753
Merged
Merged
Conversation
The apt step installed recommended packages and left /var/lib/apt/lists in the image, both inflating the final size for no runtime benefit. The node_modules cleanup for selenium-webdriver lived in its own RUN, which means the deleted bytes still shipped in the earlier npm install layer. And npm install was used despite a shrinkwrap being present, so the install was not lockfile-strict and could drift from the committed versions. Switching to npm ci, --no-install-recommends + apt list cleanup, and folding the selenium-webdriver/bin removal into the install layer shrinks the image and makes the dependency install reproducible. Co-authored-by: Claude noreply@anthropic.com
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The apt step installed recommended packages and left /var/lib/apt/lists
in the image, both inflating the final size for no runtime benefit. The
node_modules cleanup for selenium-webdriver lived in its own RUN, which
means the deleted bytes still shipped in the earlier npm install layer.
And npm install was used despite a shrinkwrap being present, so the
install was not lockfile-strict and could drift from the committed
versions.
Switching to npm ci, --no-install-recommends + apt list cleanup, and
folding the selenium-webdriver/bin removal into the install layer
shrinks the image and makes the dependency install reproducible.
Co-authored-by: Claude noreply@anthropic.com