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
If using sqfs files directly doesn't work, please use unsquashfs to unpack the sqfs file into a normal directory hierarchy that can be used to start from. squashfs mount does not work!!
Using sqfs-files directly may cause some temporary "sandboxes" somewhere. Better use unpacked images on SCRATCH (or some shared file system). This should prevent any such side-effects!

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!)