Docker et Apptainer



Pour exécuter une image Docker avec Docker :

docker run -it --rm <image> command

où :

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