diff --git a/content/06_docker_basics.md b/content/06_docker_basics.md new file mode 100644 index 0000000000000000000000000000000000000000..b3d5af3c539c43bc0538cd0760dd7a1e14eeda23 --- /dev/null +++ b/content/06_docker_basics.md @@ -0,0 +1,77 @@ +\newpage + +# Docker Basics + +## Exercice 1 + +Localisez le container correspondant au 1er exercice à l'aide de la commande +`docker search` : + +```bash +docker search hepia +``` + +En l'occurrence, l'exercice 1 correspond au container `hepia/docker_ex01` + +```bash +NAME DESCRIPTION STARS OFFICIAL +hepia/docker_ex01 0 +hepia/docker_ex03 0 +hepia/hepia-pandoc convert markdown to pdf with custom template… 0 +hepia/docker_ex02 0 +hepia/docker_ex04 0 +hepia/ubuntu-java Ubuntu 19.04 with openjdk and other tools ar… 0 +hepia/docker_ex05 0 +hepia/hbvar-openms Open-source software for mass spectrometry a… 0 +peiryd/hepia 0 +``` + +Sans exécuter le shell intéractif dans le container, effectuez les actions +suivantes : + +1. Listez les fichiers se trouvant à la racine + ```bash + docker run --workdir / --rm hepia/docker_ex01 ls -ltr + ``` + + - Filtrez pour afficher le seul "vrai" fichier (et pas caché) + ```bash + docker run --workdir / --rm hepia/docker_ex01 find . -maxdepth 1 -type f -not -path '*/.*' + ``` + +2. Affichez le contenu du fichier + ```bash + docker run --workdir / --rm hepia/docker_ex01 cat flag + ``` + +- Suite aux deux opérations ci-dessus, combien de containers ont été créés et +quels sont leurs noms et IDs ? + - Pour chacune des commandes précédentes un nouveau container a été lancé + à chaque fois (2 en tout). Vu que j'ai explicitement spécifié l'argument + `--rm` lors de l'exécution de `docker run`, les containers créés ont été + supprimés à la fin de leur exécution. Si cela n'avait pas été fait, la + commande `docker ps` permet de lister tous les containers en cours d'exécution + ainsi que leur IDs, états et aux informations utiles. + +- Quel est l'état des containers ? + - Les containers ont été supprimés. + +- Quel est l'ID de l'image utilisée par les containers que vous venez d'exécuter ? + - Afin de découvrir cette information, nous devons exécuter la commande + `docker images` qui permettra de lister les images disponibles et quelques + informations associées. En l'occurrence, l'ID de l'image `hepia/docker_ex01` + est `cae01e578e53`. + +- Est-ce que l'ID de l'image sera identique chez vos collègues de classe ? + - Oui, car l'ID de l'image correspond aux 12 premiers octets du _digest_ + SHA-256 de l'image. Cela peut se vérifier avec la commande ci-dessous : + ```bash + docker inspect hepia/docker_ex01 | grep "cae01e578e53" + ``` + +- Est-ce que les noms et IDs des containers seront identiques chez vos collègues ? + - Non, ces identifiants sont aléatoires + +- Sur quelle machine se trouvent les images `docker` ? + - Les images se trouvent sur le serveur exécutant le daemon `docker`, en + l'occurrence c'est la VM de l'école.