Charliecloud at LRZ
What is Charliecloud
Container solution in user space. https://hpc.github.io/charliecloud/index.html
Getting started ...
> module load charliecloud
Or, for more up-to-date versions, if needed
> module use /lrz/sys/share/modules/extfiles/ > module av charliecloud
Charliecloud Images
https://hpc.github.io/charliecloud/tutorial.html#seconds-to-charliecloud
(direct mounting of SquashFS files is not possible – permissions are denied; but using unsquashfs
(may require to install squashfs e.g. via user_spack), at least sqfs files can be uncompressed into normal directories)
https://hpc.github.io/charliecloud/tutorial.html#build-from-dockerfile
Important: Please use -s $TMPDIR
in order to locate the storage directory NOT into /var/tmp !
Usage
> ch-run --help # for help # for example: interactive container as root (-u 0), with writable image (-w), mounting host directories (-b), private tmp directory (-t), initial working directory (-c) > ch-run -u 0 -w -b /gpfs:/gpfs -b /dss:/dss -b /lrz:/lrz -t -c $HOME <path-to-image> -- /bin/bash -i
For running MPI applications in a container:
> mpiexec <mpiexec params> ch-run <ch-run params> -- <mpi-application>
In order that this works, MPI version/vendor of mpiexec and the mpi-application must be the same. (ch-run changes effectively only the file system environment. It is NOT virtualization!)