Containers are a solution to provide your software, library, etc., in an isolated environment.
On atlas we provide singularity as a container software.
Singularity documentation is available at http://singularity.lbl.gov/ and should be the reference documentation.
To work with singularity, you have to download/create a singularity image (containing every software you need). To create a new image, see the official documentation. You can download existing singularity images on singularity hub.
Let's work the hello world official image
singularity pull shub://vsoch/singularity-hello-world
Now you have the
vsoch-singularity-hello-world-master.img in the current directory.
To execute hello world,
singularity run vsoch-singularity-hello-world-master.img
Now, if you want to go inside the container in a shell environment, just type
singularity shell vsoch-singularity-hello-world-master.img
and now you are inside the image isolated from the host system! By default, the home directory is mounted inside the image.
To edit an image, add the option
singularity shell -w vsoch-singularity-hello-world-master.img
Note that you always have the same privilege in the image than on the host (you can't edit directory you do not have permissions!).
If you want to modify the image anyway, you have to download the image on a machine where you are the administrator and edit the image as root.
CI generated images are available on IRMA gitlab.