-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat : use --no-cache-dir flag to pip in dockerfiles to save space #2357
feat : use --no-cache-dir flag to pip in dockerfiles to save space #2357
Conversation
Thanks, the develop and travis images are meant for interactive testing and development though, so caching might be useful for those? |
Are we deleting temporary apt files yet? |
looks like, till now we are not doing. I will raise a separate PR for that. |
698b13f
to
732d1e5
Compare
Caching will generally be helpful for all images in terms of reducing size. I added the fix to all files to keep things uniform across files. |
I was talking about the purpose of the docker images. instead of just using pwntools to run exploits, they are meant to develop pwntools itself which includes touching the dependencies and possibly reinstalling pwntools too. So I thought it would be useful to keep pip's cache enabled for those images. Do you think otherwise? |
732d1e5
to
69055e9
Compare
using the "--no-cache-dir" flag in pip install, make sure downloaded packages by pip don't cache on the system. This is a best practice that makes sure to fetch from a repo instead of using a local cached one. Further, in the case of Docker Containers, by restricting caching, we can reduce image size. In terms of stats, it depends upon the number of python packages multiplied by their respective size. e.g for heavy packages with a lot of dependencies it reduces a lot by don't cache pip packages. Further, more detailed information can be found at https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6 Signed-off-by: Pratik Raj <[email protected]>
69055e9
to
6014228
Compare
It makes sense, but we don't touch dependencies very often, so in most cases keeping the cache small will helped in terms of space, although I reverted for dev image. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, I guess I'm fine either way. I don't think optimizing the size of a local one-off dev environment is important. Thank you!
This saved about 40mb 👍 |
using the "--no-cache-dir" flag in pip install, make sure downloaded packages by pip don't cache on the system. This is a best practice that makes sure to fetch from a repo instead of using a local cached one. Further, in the case of Docker Containers, by restricting caching, we can reduce image size. In terms of stats, it depends upon the number of python packages multiplied by their respective size. e.g for heavy packages with a lot of dependencies it reduces a lot by don't cache pip packages.
Further, more detailed information can be found at
https://medium.com/sciforce/strategies-of-docker-images-optimization-2ca9cc5719b6
Signed-off-by: Pratik Raj [email protected]