Building your own Docker image of scuff em - HomerReid/scuff-em GitHub Wiki

Regardless of whether you are a Windows, Mac, or Linux user, one option for using scuff-em is to run it as a Docker image. There is some guidance for Windows users (which Mac and Linux users can likely adapt).

As well as using the already available Docker image it's also straightforward to custom build your own Docker image of scuff-em (which is useful if, for example, you want to recreate an old version of scuff-em). Here's how.

First you need to install Docker on your computer.

Next you need to download two files Dockerfile and scuff from jfeist/scuff-em-docker (these are only a few kB in size). You need to preserve the Unix (LF) format of scuff. It's probably best if the folder in which you place the files contains no other files. Let's suppose this folder is named jfeist (the name doesn't matter).

You next need to open a command prompt (terminal) and make jfeist the current directory. With internet access, you then make the image by typing:

docker build -t NameOfImage .

... where the full stop is part of the command and NameOfImage is anything you like (within reason --- Docker will give the image this name). You can then run scuff-em using the image (replace jfeist/scuff-em with NameOfImage).

The following lines in Dockerfile:

RUN cd /tmp && \
   git clone https://github.com/texnokrates/scuff-em.git && \
   cd scuff-em && \
   ./autogen.sh --with-hdf5-includedir=/usr/include/hdf5/serial --with-hdf5-libdir=/usr/lib/x86_64-linux-gnu/hdf5/serial && \
   make -j 4 install && \

... can be edited to alter the image. For example, to build an image based on commit c2dd22d (which dates from January 24, 2016) without hdf5 support, you would edit the above lines in Dockerfile to:

RUN cd /tmp && \
   git clone https://github.com/HomerReid/scuff-em.git && \
   cd scuff-em && \
   git checkout c2dd22d && \ 
   ./autogen.sh --without-hdf5 && \
   make -j 4 install && \

... and then rerun the above Docker build command.

Thanks are due to jfeist for providing this wisdom.