Docker - exec and co.
# Execute command inside a container
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# delete /tmp/somefile in container
docker exec mycontainer rm /tmp/somefile
# need help?
docker exec -h
Exercices
Lancer un container httpd:alpine exposant 8083:80 et y
ouvrir une session shell interactive avec pseudo-TTY et explorer le système de fichier (i.e. filesystem ou FS)
- le résultat est équivalent à ouvrir une session SSH sur une machine virtuelle... même si le fonctionnement n'a absolument rien à voir
- le FS de votre container est-il le même que celui de votre machine?
Modifier le fichier htdocs/index.html dans le container et vérifier ce que renvoi localhost:8083
- Utiliser une commande
echo "Test content" > index.htmlouvi - Que se passe-t-il si on lance un autre container utilisant la même image? Lancer un autre container
httpd:alpineexposant8084:80et comparer!
Lister les process du container lancé précédemment depuis le container lui-même. Vérifier si ce même processus est visible depuis la machine hôte.
ps -efpermet d'afficher les processus machine et/ou du containerpstree -ppermet d'afficher l'ensemble des process sous forme d'arbre parent/enfant