iotedgedev icon indicating copy to clipboard operation
iotedgedev copied to clipboard

Do not bundle language runtimes and use docker modules to compile application code

Open stewartadam opened this issue 3 years ago • 0 comments

The image for iotedgedev is enourmous, clocking in near 4GB because it includes, among other thing, apt-get cache and runtimes for every supported language out there.

Usage of iotedgedev in a docker container already requires passing through the Docker socket; so why are all of the language tools bundled and fixed? I suggest the iotedgedev runtime should pull down language containers on-the-fly to significantly reduce its image size, with little side-effects; repeated runs will already have the docker image cached, so it won't require re-downloads every time iotedgedev is run.

In fact, if a CLI flag permits passing which app language container is desired, then users no longer are forced to use the fixed version bundled in the current images and can either (1) setup their own compilation environments or (2) vary supported ones from officially published Docker images (e.g. different Java versions, etc).

stewartadam avatar Apr 26 '21 21:04 stewartadam