omnia-md / omnia-linux-anvil

Experimental version of conda-forge/linux-anvil to build openmm
0 stars 3 forks source link

Rework Dockerfile for smaller and fewer layers #9

Closed Lnaden closed 6 years ago

Lnaden commented 6 years ago

This changes the main Dockerfile to no longer download files through Docker ADD directive and instead through curl on the same layer which removes it in the end. ADD creates layers that has to be downloaded even if the merged final image removes the files.

Several ADD and RUN lines were combined into other lines or removed to cut down on the total number of layers that have to be downloaded and extracted.

Some redundant yum lines were removed as well.

With this, the final uncompressed size of the image is ~1.9 GB, which is much better than the 10.3GB it was at the start of today and the 5.7GB it was after fixing the TeX install earlier.

Cleans up most of what #8 was going for. Could probably still be optimized with what of TeX and CUDA get installed, but this alone should be sufficient for a long while.

jchodera commented 6 years ago

How will this work when, say, http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz changes to texlive 2018 in a month? That wouldn't trigger a rebuild (which may be good, but problematic).

Lnaden commented 6 years ago

It won't trigger it and at that point I'd need to come back in anyways and tweak the hard coded 2017 line /usr/local/texlive/2017/bin/x86_64-linux/tlmgr install which I was expecting to do already. The current Dockerfile would have the same problem and this PR does not improve or worsen that issue.

Lnaden commented 6 years ago

Should be interesting to see the compressed file size!