heudiconv icon indicating copy to clipboard operation
heudiconv copied to clipboard

[ENH] lighter alpine multi-stage build docker image, ~65% smaller

Open bpinsard opened this issue 4 months ago • 5 comments

Disclaimer: I don't know enough about Neurodocker and Reproenv to know if these are critical to run heudiconv image in specific contexts or if there are any advantages compared to a bare alpine version.

Alpine allow:

  • way lighter image
$ docker image ls | grep heudiconv
heudiconv                         alpine             6c44f1a0115f   10 minutes ago   517MB
nipy/heudiconv                    latest             241fc4f2610c   13 days ago      1.44GB
  • more recent git-annex version than what is shipped by apk.

Also:

  • Size reduction are in part due to multi-stage build.
  • Updated dcm2niix in the meantime.

I might have forgotten some non-pip managed heudiconv reqs, it would be safer for the docker.yml workflow to run the tests on the image before pushing to dockerhub. Also, if bash or other term stuffs are used in specific deployment, it can be added.

bpinsard avatar Oct 15 '24 13:10 bpinsard