====== Activité : Mémento Docker ====== * Rechercher une image dans Docker Hub docker search mot-clé * Récupération d’une image dans sa dernière version docker pull debian:latest * Afficher les images Docker présentes sur la machine docker images docker image ls * Lancement sans option d’un conteneur docker run ubuntu * Lister les conteneurs actifs docker ps * Lister tous les conteneurs, y compris les inactifs docker ps -a * Supprimer un conteneur arrêté docker rm nom_du_conteneur * Lancer un conteneur à partir d’une image avec une commande donnée docker run [image à instancier] [commande à exécuter] * Lancer un conteneur à partir d’une image en mode interactif -i et en attachant un shell -t docker run -i -t ubuntu * Lancer un conteneur à partir d’une image en mode interactif -i et en attachant un shell -t particulier docker run -i -t debian /bin/bash * Quitter un conteneur avec exit conteneur# exit * Trouver la liste des modifications d’un conteneur par rapport à son image de lancement docker diff [identifiant du conteneur] * Persister l’état d’un conteneur en une nouvelle image docker commit [identifiant ou nom du conteneur] [nom de l’image] * Supprimer une image (après avoir supprimer les conteneurs qui l’utilise) : docker rmi [nom de l’image] * Supprimer plusieurs images docker rmi [image 1] [image 2] ... [image n] * Lancer et supprimer un conteneur dès la sortie du processus (conteneurs à la durée de vie limitée à une exécution docker run --rm hello-world * Lancer un conteneur avec un nom donné docker run --name=[nom fourni] [image à instancier] * Modifier le hostname au démarrage d’un conteneur docker run -h [hostname à utiliser] [image à instancier] * Exemple docker run -it –rm -h dhcpserv debian * Lancer un conteneur en mode détaché docker run -d [image à instancier] * Remplacer une portion d’arborescence du conteneur par un emplacement hôte docker run -v [dossier hôte]:[dossier sur conteneur] ... * Injecter une variable d’environnement au démarrage d’un conteneur docker run -e=[variable d'environnement] [image à instancier] * Créer une variable d’environnement au démarrage d’un conteneur docker run -e=[variable d'environnement=valeur] [image à instancier] docker run -e [variable d'environnement=valeur] [image à instancier] * Créer des variables d’environnement définies dans un fichier au démarrage d’un conteneur docker run –env-file=[nomFichierContenantVariableEnvironnement&valeur] [image à instancier] * Démarrer un conteneur arrêté en utilisant son nom, son nom généré ou son identifiant, même partiel : docker start [conteneurID/NAME] * Arrêter un conteneur en utilisant son nom, son nom généré ou son identifiant, même partiel : docker stop [conteneurID/NAME] * Redémarrer un conteneur en cours docker restart [conteneurID/NAME] * Recycler un conteneur en spécifiant la période de grâce docker restart -t 20 [conteneur] * Envoyer un signal d’arrêt à un conteneur docker kill -s [code du signal] [conteneurID/NAME] Par défaut, le code du signal est KILL, ce qui correspond à un arrêt du processus ciblé. * Accédez à un conteneur démarré : docker attach [containerID/NAME] * Quitter un conteneur mais le laisser s’exécuter en arrière-plan Ctrl + p + q. * Supprimer un conteneur docker rm [conteneurID/NAME] * Supprimer un conteneur de manière forcée docker rm -f [conteneurID/NAME] * Supprimer tous les conteneurs docker rm `docker ps -a -q` -> ne fonctionne pas sous Windows est-ce le ` ? * La commande system et sa sous-commande prune permettant de réaliser le ménage dans les conteneurs arrêtés, les images orphelines et d’autres ressources a priori non utilisées. Ne supprime pas les images. Faire le ménage dans les conteneurs arrêtés, images orphelines, et autres objets (network par exemple) docker system prune * Visualiser les logs d’un conteneur docker logs [conteneur] * Explorer les processus d’un conteneur docker top [conteneur] * Suivre l’évolution des ressources utilisées par un conteneur docker stats [conteneur]