Fiche de révision : Commandes Docker de base

Plan du Cours

  1. Premiers conteneurs Docker
  2. Commandes Docker de base
  3. Exécution et configuration des conteneurs
  4. Modification des images Docker
  5. Multiplication et nettoyage des conteneurs

1. Premiers conteneurs Docker

★ À maîtriser

  • Lorsqu’une image demandée n’est pas disponible localement, Docker la récupère depuis le registre configuré, crée un conteneur à partir de cette image, lui attribue un système de fichiers en lecture et écriture et crée une interface réseau connectée au réseau par défaut.

  • Le cycle de vie d’un conteneur est lié à celui de son processus principal : lorsque ce processus se termine, le conteneur s’arrête, mais les changements apportés à son système de fichiers sont conservés jusqu’à la suppression du conteneur.

📌 Dans l’image Ubuntu, bash est la commande par défaut et le conteneur reste actif tant que bash ne se termine pas ; la commande exit ou Ctrl + D met fin à bash et au conteneur.

Compléments

  • Les fichiers et dossiers d’une image Docker sont immuables, tandis que le conteneur dispose d’un système de fichiers en lecture et écriture superposé.

📌 L’option -i, ou --interactive, permet d’interagir avec le terminal du conteneur, tandis que l’option -t, ou --tty, met en place un environnement d’entrée-sortie qui rend visible une invite de commande ; les deux options sont utilisées ensemble pour se connecter au terminal d’un shell.

2. Commandes Docker de base

★ À maîtriser

  • La commande docker container ls liste les conteneurs en cours d’exécution, docker container stop arrête un conteneur et docker container ls -a, ou --all, liste les conteneurs quel que soit leur statut.

  • L’option --rm de docker run supprime automatiquement le conteneur lorsque celui-ci s’arrête.

  • La commande docker container prune supprime tous les conteneurs arrêtés après confirmation.

📌 Un conteneur en cours d’exécution ne peut pas être supprimé avec docker container rm sans l’arrêter ou utiliser --force.

  • La commande docker pull nginx télécharge l’image NGINX depuis le registre par défaut, Docker Hub, et docker run effectue implicitement ce téléchargement si l’image demandée n’est pas disponible localement.

📌 Par défaut, le processus du conteneur est attaché au terminal actuel ; Ctrl + C l’interrompt, tandis que docker run -d lance le conteneur en arrière-plan et affiche son identifiant.

  • Les versions d’image disponibles se consultent sur la page Docker Hub correspondante, et sont désignées par des tags tels que 1.25, 1.25.2 ou latest.

Compléments

📌 Les commandes Docker qui ciblent un conteneur acceptent le début de son identifiant si ce préfixe correspond à un seul conteneur ; trois ou quatre caractères suffisent généralement en pratique.

  • NGINX est un serveur web utilisé principalement pour servir des sites ou des applications web et comme reverse proxy, qui reçoit les requêtes des clients et les transmet aux serveurs appropriés.

  • La commande par défaut de l’image NGINX est nginx, un processus long qui maintient le conteneur actif.

  • Un identifiant de conteneur est une chaîne hexadécimale de 64 caractères générée aléatoirement ; Docker n’en affiche généralement que les 12 premiers caractères.

  • La pratique recommandée est d’exécuter docker stop avant docker rm pour supprimer un conteneur.

  • docker image ls affiche les images présentes localement et une image déjà locale n’a pas besoin d’être téléchargée à nouveau.

  • La commande docker image rm nginx supprime localement l’image référencée par nginx.

3. Exécution et configuration des conteneurs

★ À maîtriser

  • docker exec -it web-server bash lance une session Bash dans le conteneur web-server déjà démarré, si Bash est disponible dans ce conteneur.

📌 Pour mapper un port du conteneur vers un port de l’hôte, il faut recréer le conteneur avec l’option -p, par exemple -p **8888**:**80** pour relier le port hôte 8888 au port 80 du conteneur.

  • L’option -e de docker run transmet une variable d’environnement au conteneur, par exemple NGINX_ENTRYPOINT_QUIET_LOGS=1 pour contrôler le niveau d’information des logs NGINX.

Compléments

  • La commande docker run nginx bash -c 'echo "Hello, Debian!"' remplace la commande par défaut de l’image par le script Bash, puis le conteneur s’arrête à la fin du script.

  • Dans le conteneur NGINX, curl localhost:80 ou curl localhost permet de consulter la page web servie localement.

  • L’option --name attribue un nom au conteneur, ce qui évite d’avoir à raisonner avec son ID.

  • Les variables d’environnement servent à configurer les conteneurs, notamment pour définir le mot de passe d’un conteneur MySQL, car les images sont immuables.

4. Modification des images Docker

★ À maîtriser

  • La commande docker commit crée une image à partir des modifications d’un conteneur, mais elle est déconseillée car les changements sont difficiles à évaluer et des fichiers créés au lancement peuvent être inclus involontairement.

  • Un Dockerfile permet de définir par du code les changements à apporter à une image de base.

Compléments

  • La commande docker diff affiche les modifications apportées aux fichiers d’un conteneur, notamment les éléments ajoutés et modifiés.

Astuce mémo

Un commit difficile à maîtriser conduit à préférer un Dockerfile.

5. Multiplication et nettoyage des conteneurs

★ À maîtriser

  • L’option -q ou --quiet de docker container ls n’affiche que les IDs des conteneurs, et l’option -a ou --all inclut aussi les conteneurs arrêtés.

Compléments

  • docker container stop $(docker container ls -aq) arrête tous les conteneurs en utilisant la liste de leurs IDs, puis docker container prune et docker image prune permettent de nettoyer les conteneurs arrêtés et les images inutilisées.

  • Une boucle peut lancer trois conteneurs de la même image avec docker run -d --rm -p 888$i:80 nginx-custom pour i allant de 1 à 3, en les exposant sur les ports hôte 8881, 8882 et 8883.

  • Les options d’aide Docker s’obtiennent avec docker --help, docker container --help, docker container ls --help ou docker run --help.

Teste tes connaissances

Teste tes connaissances sur Commandes Docker de base avec 14 questions à choix multiples et corrections détaillées.

1. Une personne lance une image qui n’est pas présente sur sa machine. Quelle séquence Docker s’ensuit ?

2. Dans un conteneur Ubuntu lancé avec sa commande par défaut, que se passe-t-il lorsque l’utilisateur saisit `exit` dans le terminal ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Commandes Docker de base avec 36 flashcards interactives.

Que fait Docker si l’image demandée est absente localement ?

Il la récupère depuis le registre configuré.

Quel système de fichiers Docker attribue-t-il au conteneur créé ?

Un système de fichiers en lecture et écriture.

Quelle commande est exécutée par défaut dans l’image Ubuntu ?

bash.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches