Update container authored by Rémy Mozul's avatar Rémy Mozul
Important notice: in the following a generic name `lmgc90_user_xxxx` is used in the instruction, but each time the `xxxx` is met, it must be replaced by the real name of the version used. For example the `2020.rc1` or `2020`.
# Singularity
Here are provided some very basics directions on how to use LMGC90 in a Singularity container.
On how to install and use Singularity properly, check their [official website](https://sylabs.io/guides/3.6/user-guide/).
For a direct use, download the image file:
* [lmgc90_user_2020_rc1.sif](https://seafile.lmgc.univ-montp2.fr/f/989e8b26d2d14e4aac08/?dl=1)
* [lmgc90_user_202.sif](https://seafile.lmgc.univ-montp2.fr/f/f6b75bb93927479cbf28/?dl=1)
On a server or computer with singularity installed, you can directly use the
singularity image to run a single command with:
```cmd
cd path_to_example
singularity run lmgc90_user_2020_rc1.sif python command.py
singularity run lmgc90_user_xxxx.sif python command.py
```
It is preferred to stay in the same image ; for example in order to
run several python commands:
```cmd
singularity shell lmgc90_user_2020_rc1.sif
singularity shell lmgc90_user_xxxx.sif
python gen_sample.py --novisu && python command.py
exit
```
......@@ -30,7 +33,7 @@ Bootstrap: docker
From: ubuntu:focal
%files
lmgc90_user_2020.rc1 /root/lmgc90
lmgc90_user_xxxx /root/lmgc90
%environment
export SHELL=/bin/bash
......@@ -54,7 +57,7 @@ From: ubuntu:focal
```
Then the image file can be created with:
```cmd
singularity build --fakeroot lmgc90_user_2020_rc1.sif lmgc90.def
singularity build --fakeroot lmgc90_user_xxxx.sif lmgc90.def
```
......@@ -64,8 +67,6 @@ Here are provided some very basics directions on how to use LMGC90 in a Docker c
On how to install and use Docker properly, check their [official website](https://docs.docker.com/).
To build an image, use the following content to create a `docker_lmgc90` file.
Of course the `lmgc90_user_2020_rc1` must be replaced by the actual
path to the sources of lmgc90 to use:
```file
FROM ubuntu:focal
......@@ -79,7 +80,7 @@ RUN apt-get install -y cython3
RUN apt-get install -y libhdf5-dev hdf5-tools python3-h5py
# get the sources
COPY lmgc90_user_2020_rc1 /root/lmgc90
COPY lmgc90_user_xxxx /root/lmgc90
# build the sources
WORKDIR /root/lmgc90/build
......@@ -91,10 +92,9 @@ WORKDIR /root/compute
RUN rm -rf /root/lmgc90
```
Then build the docker image with (again adapt `lmgc90_user:2020.rc1`
with something relevant to your sources directory):
Then build the docker image with (again replace the `xxxx` by your revision), do not forget the ending dot character:
```cmd
docker build -t lmgc90_user:2020.rc1 -f docker_lmgc90 .
docker build -t lmgc90_user:xxxx -f docker_lmgc90 .
```
Then, next to a `example` directory containing a `gen_sample.py` (with
......@@ -106,7 +106,7 @@ docker run -it -v $PWD/example:/root/compute lmgc90_user:2020.rc1 python command
To stay in the container for, let's say run python in interactive mode, or run
several commands, preferably use:
```cmd
docker run -it -v $PWD/example:/root/compute lmgc90_user:2020.rc1 /bin/bash
docker run -it -v $PWD/example:/root/compute lmgc90_user:xxxx /bin/bash
python gen_sample.py --novisu
python command.py
exit
......
......