__NOTOC__
Docker¶
Docker is a container technology, performing operating-system-level virtualisation.
Singularity¶
Singularity is another container technology that performs operating-system-level virtualization. One of the main uses of Singularity is to bring containers and reproducibility to scientific computing and HPC.
https://sylabs.io/singularity/
https://apptainer.org/
SPM Containers¶
Official SPM12 Dockerfile and singularity.def (using the Standalone SPM):
https://github.com/spm/spm-docker
https://github.com/spm/spm-docker/pkgs/container/spm-docker
https://hub.docker.com/r/spmcentral/spm/
For example, to start SPM with its graphical user interface:
xhost +local:docker
docker run -ti --rm -e DISPLAY=$DISPLAY -v /tmp:/tmp -v /tmp/.X11-unix:/tmp/.X11-unix spmcentral/spm fmri
If the container's root filesystem is mounted as read only (--read-only flag), you need to bind mount an extra volume:
-v /tmp/.matlab:/root/.matlab
See also¶
Neurodesk¶
Neurodocker¶
https://github.com/ReproNim/neurodocker
https://hub.docker.com/r/kaczmarj/neurodocker/
SPM BIDS-App¶
https://github.com/BIDS-Apps/SPM
https://hub.docker.com/r/bids/spm/
MATLAB Dockerfile¶
https://github.com/mathworks-ref-arch/matlab-dockerfile
Singularity¶
sudo singularity build spm12.sif spm12-octave.def
singularity exec spm12.sif
./spm12.sif --help