...
Code Block | ||
---|---|---|
| ||
export WORK=/pfs/work/$USER
mkdir -p ~/.local/bin ${SCRATCH}
ln -s ${WORK}/dot-udocker/udocker ~/.udocker
wget https://github.com/indigo-dc/udocker/releases/download/1.3.4/udocker-1.3.4.tar.gz
tar zxvf udocker-1.3.4.tar.gz -C ${WORK}/
chmod u+rx ${WORK}/udocker
#test udocker exec
${WORK}/udocker/udocker --help
#install
${WORK}/udocker/udocker install |
...
Info | ||
---|---|---|
| ||
The same steps can be repeated on other machines, including HPC or your local computer. Just change WORK and SCRATCH variables in the first two lines. Note, that SCRATCH will be used during import of new images and WORK will be used to store images and files on all running containers. Choose them wisely to accommodate possibly big amount of data. |
Info | ||
---|---|---|
| ||
If
|
Exercises
Start uDocker container
...
- Create container:
${WORK}/udocker/
udocker create --name=imas-gui imas/gui:3.24.0-4.2.0-2.5p4-3.0.5-4.6.5
- Run the default application (VNC server) with port mapping:
~/.local/bin${WORK}/udocker/udocker
run run --publish 15901:5901 imas-gui
- In another terminal, open VNC viewer, connect to
localhost:15901
and useimas
as the password:vncviewer localhost:15901
- You will see Openbox desktop environment, with Kepler loading automatically (please wait until it is ready).
- Design an example workflow like the one below, which will read pf_active IDS from shot 1 and run 1:
- Run the workflow and notice that it fails due to lack of pulsefile with required content. This is because in the previous exercise you were running in the imas container, isolated from the imas-gui one.
- You can now do one of the following:
- Create the pulsefile again
- Run in another terminal in the Gateway:
${WORK}/udocker/udocker
run imas-gui /bin/bash
- Repeat step 4 from previous exercise
- Run in another terminal in the Gateway:
- Copy pulsefile between containers
- Run
cp ${WORK}/udocker/containers/imas/ROOT/home/imas/public/imasdb/test/3/0/ids_10001.* ${WORK}/udocker/containers/imas-gui/ROOT/home/imas/public/imasdb/test/3/0/
- Run
- Create the pulsefile again
- Start the workflow again. The expected result:
...