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