Container’s layer
La layer d’un container, est la layer read-write créé lorsqu’un container est lancé. C’est la layer dans laquelle tous les changements effectués dans le container sont sauvegardés. Cette layer est supprimée avec le container et ne doit donc pas être utilisée comme un stockage persistant.
Lancement d’un container
Utilisez la commande suivante pour lancer un shell intéractif dans un container basé sur l’image ubuntu:18.04.
docker container run -ti ubuntu:18.04Installation d’un package
figlet est un package qui prend un texte en entrée et le formatte de façon amusante. Par défaut ce package n’est pas disponible dans l’image ubuntu. Vérifiez le avec la commande suivante:
figletLa commande devrait donner le résultat suivant.
bash: figlet: command not foundInstallez le package figlet avec la commande suivante:
apt-get update -y
apt-get install figletVérifiez que le binaire fonctionne
figlet HolaCe qui devrait donner le résultat suivant
_ _ _
| | | | ___ | | __ _
| |_| |/ _ \| |/ _` |
| _ | (_) | | (_| |
|_| |_|\___/|_|\__,_|Sortez du container.
exitLancement d’un nouveau container
Lancez un nouveau container basé sur ubuntu:18.04.
docker container run -ti ubuntu:18.04Vérifiez si le package figlet est présent.
figletVous devriez obtenir l’erreur suivante:
bash: figlet: command not foundComment expliquez-vous ce résultat ?
Chaque container lancé à partir de l’image ubuntu est différent des autres. Le second container est différent de celui dans lequel figlet a été installé. Chacun correspond à une instance de l’image ubuntu et a sa propre layer, ajoutée au dessus des layers de l’image, et dans laquelle tous les changements effectués dans le container sont sauvegardés.
Sortez du container
exitRedémarrage du container
Listez les containers (en exécution ou non) sur la machine hôte
docker container ls -aDepuis cette liste, récuperez l’ID du container dans lequel le package figlet a été installé et redémarrez le avec la commande suivante.
Note: la commande start permet de démarrer un container se trouvant dans l’état Exited.
docker container start CONTAINER_IDLancez un shell intéractif dans ce container en utilisant la commande exec.
docker container exec -ti CONTAINER_ID bashVérifez que figlet est présent dans ce container.
figlet HolaVous pouvez maintenant sortir du container.
exitNettoyage
Listez les containers (en exécution ou non) sur la machine hôte
docker container ls -aPour supprimer tous les containers, nous pouvons utiliser les commandes rm et ls -aq conjointement. Nous ajoutons l’option -f afin de forcer la suppression des containers encore en exécution. Il faudrait sinon arrêter les containers et les supprimer.
docker container rm -f $(docker container ls -aq)Tous les containers ont été supprimés, vérifiez le unee nouvelle fois avec la commande suivante:
docker container ls -a