Docker et Apptainer
Pour exécuter une image Docker avec Docker :
docker run -it --rm <image> command
où :
-it: permet d’interagir avec le conteneur comme s’il s’agissait d’un shell--rm: supprime automatiquement le conteneur lorsqu’il se termine.command: une commande à exécuter dans le conteneur, généralementbash
Pour monter un répertoire local dans le conteneur afin de conserver les données, utilisez l’option -v.
Par exemple, le répertoire local ~/mywork sera accessible dans le conteneur sous /usr/local/mywork :
docker run -it --rm -v ~/mywork:/usr/local/mywork <image> command
Commandes utiles
Le mot-clé CMD du Dockerfile peut désigner un script qui sera exécuté si la
commande Docker run n’est pas incluse.
Le mot-clé ENTRYPOINT définit un script qui sera toujours exécuté dans le conteneur,
que l’option command soit incluse ou non.
Le point d’entrée peut être remplacé à l’exécution avec l’option ci-dessous (en prenant sh comme exemple) :
--entrypoint /bin/sh
Pour inspecter une image :
docker image inspect <image>
Apptainer
Les hôtes Linux disposent d’apptainer (anciennement Singularity), qui s’utilise de manière similaire à Docker.
Il utilise un répertoire de cache pour stocker les images ; je suggère donc de placer ce cache
sur un disque de grande capacité. Dans l’exemple suivant, /path/to/user/cache est utilisé :
export sif_cache=/path/to/$USER/sif
puis :
export APPTAINER_CACHEDIR=$sif_cache/apptainer-cache
export APPTAINER_TMPDIR=$sif_cache/apptainer-tmp
export TMPDIR=$sif_cache/apptainer-tmp
apptainer exec --cleanenv --bind ~/mywork:/usr/local/mywork \
<image> command