This repository was archived by the owner on Mar 15, 2022. It is now read-only.
improve size by not having tgz in the image #10
Merged
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.
I noticed that the image size was a bit large so I looked into why that is
There's 1.04 GB from the base image so not much that can be improved there -- however I noticed that the .tgz sources are in the image so they're essentially bloat.
Docker is a layered filesystem so if you add contents in a layer it will live with the image forever (even if you delete it in a future layer, actually deleting it in a future layer makes the image slightly larger since deletion is implemented via whiteout files)
So I moved the source acquisition inside the layer where the pythons are installed and this reduced the overhead disk usage pretty dramatically.
Here's the docker history from the current image which is on dockerhub:
Note that the COPY at the bottom is the
COPY sources /
that I removed -- and this 133MB lives with the image permanentlyIn my adjusted version, this is what those layers look like now:
so I essentially reduced the image size by 133MB!