You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The docker image currently on the site is 2GB compressed and 4.8GB uncompressed.
As far as docker images go, this is huge. I don't have time to work on this issue myself (although I'd be happy to answer questions), but several suggestions to pare it down:
Use multi-stage builds to only include the files that are actually needed to run the program
Install only the bare minium of dependencies to run the program. What's ROS used for? Is the entirety of ROS needed here, or just 2-3 smaller components?
Each layer adds size to the image, and can never remove size. Therefore, only create layers on logical boundaries, and cleanup the messes you've created in the layer that you create them (e.x. delete your apt cache in same layer that you ran apt)
Thanks, Flaviu. We definitely stick a lot of unnecessary "extras" into our docker image because our use case for the docker image has been continuous integration. But, I think we could use multi-stage builds to create a container for scrimmage "deployments." We'll look into it.
The docker image currently on the site is 2GB compressed and 4.8GB uncompressed.
As far as docker images go, this is huge. I don't have time to work on this issue myself (although I'd be happy to answer questions), but several suggestions to pare it down:
There's a few more good tips in this article, just ignore the snarky title :)
The text was updated successfully, but these errors were encountered: