Docker
From silico.biotoul.fr
m |
m (→Test : Hello world) |
||
Line 28: | Line 28: | ||
On observe qu'il reste hello-word, on peut accéder aux logs avec son identifiant ou son nom (utile pour le débogage en cas de crash du container) : | On observe qu'il reste hello-word, on peut accéder aux logs avec son identifiant ou son nom (utile pour le débogage en cas de crash du container) : | ||
- | podman logs | + | podman logs CONTAINER_ID |
+ | |||
+ | Nettoyage : suppression de ce qu'il reste de l'exécution précédente | ||
+ | podman rm CONTAINER_ID | ||
+ | |||
+ | Nettoyage : suppression de l'image récupérée de docker.io | ||
+ | porman rmi IMAGE_ID | ||
+ | |||
+ | = Utilisation d'un programme : exemple prokka = |
Revision as of 14:22, 30 August 2022
Motivation : problèmes de dépendances logicielles et de reproductibilités des résultats obtenus (avec un certain environnement, librairies, ...).
Solution (partielle) : mettre dans un container tout ce qu'il faut pour réaliser le même traitement.
Remarque : cela permet aussi de distribuer l'exécution de programme sur une grille de calculs ou un cloud.
Nous allons utiliser podman qui est l'équivalent de docker mais présente certains avantages :
- docker nécessite un service (qui tourne donc en permanence) alors que podman non
- il faut des permissions élevées (root) pour docker et pas toujours pour podman
Test : Hello world
Pour vérifier que cela fonctionne :
podman run hello-world
podman devrait récupérer l'image du container sur docker.io puis l'exécuter sans trop de soucis.
Images présentes sur le compte :
podman images
Container en cours d'utilisation :
podman ps
Container en cours ou ayant terminé :
podman ps -a
On observe qu'il reste hello-word, on peut accéder aux logs avec son identifiant ou son nom (utile pour le débogage en cas de crash du container) :
podman logs CONTAINER_ID
Nettoyage : suppression de ce qu'il reste de l'exécution précédente
podman rm CONTAINER_ID
Nettoyage : suppression de l'image récupérée de docker.io
porman rmi IMAGE_ID