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
Most docker images are based off build-rmf and just changes the entry point. It makes every image include all the rmf components it doesn't need, causing every image to be 5gb+ in size.
Some suggestions to optimize the images:
builder-rmf can build all rmf components, but instead of installing them directly, it should output an apt repo. Children layers can copy the repo and use apt to install only the required packages, ideally using ros:humble-ros-core as the base image. The builder can also export the repo to a temporary volume or a external apt repository to optimize build time.
Alternatively, the builder should only install dependencies, move building and installing to the children layers. This is less optimal because the children layer will contain the sources and build dependencies.
Pin all sources to make builds reproducible. This also allows layer caching to work. It should be fine doing the clone inside the builder as long as the sources are pinned.
Separate the simulation components, a "real" deployment shouldn't need simulations so the main rmf builder shouldn't include them.
The text was updated successfully, but these errors were encountered:
Most docker images are based off
build-rmf
and just changes the entry point. It makes every image include all the rmf components it doesn't need, causing every image to be 5gb+ in size.Some suggestions to optimize the images:
builder-rmf
can build all rmf components, but instead of installing them directly, it should output an apt repo. Children layers can copy the repo and use apt to install only the required packages, ideally usingros:humble-ros-core
as the base image. The builder can also export the repo to a temporary volume or a external apt repository to optimize build time.The text was updated successfully, but these errors were encountered: