Quiz du chapitre 8 : Observabilité et dépannage¶
Consignes
Autoévaluation : 10 questions, environ 10 minutes. Chaque question a une seule bonne réponse. Répondez d'abord de mémoire, puis cliquez sur « Réponse » pour vérifier. En cas d'erreur, relisez la section indiquée du cours.
Question 1. Que contiennent les journaux consultés avec docker logs ?
- A. Les fichiers de log écrits par l'application dans
/var/log - B. Tout ce que le processus principal écrit sur sa sortie standard et sa sortie d'erreur
- C. Uniquement les messages du moteur Docker
- D. Les commandes saisies avec
docker exec
Réponse
B. Docker capture la sortie standard et la sortie d'erreur du processus principal : c'est pourquoi une application conteneurisée doit y écrire ses messages (section 2).
Question 2. Un conteneur s'est arrêté, mais il n'est pas supprimé. Peut-on encore lire ses journaux ?
- A. Non, ils disparaissent à l'arrêt
- B. Oui, tant que le conteneur n'est pas supprimé
- C. Oui, mais seulement avec
docker stats - D. Non, sauf avec l'option
-f
Réponse
B. docker logs fonctionne aussi pour un conteneur arrêté : c'est souvent là que se trouve la cause de la panne (section 2.1).
Question 3. Quelle commande affiche les 20 dernières lignes des journaux d'un conteneur web ?
- A.
docker logs -f web - B.
docker logs --since 20 web - C.
docker logs --tail 20 web - D.
docker stats --tail 20 web
Réponse
C. --tail limite le nombre de lignes affichées ; -f suit les journaux en continu ; --since filtre par durée (section 2.1).
Question 4. Pourquoi limiter la taille des journaux avec --log-opt max-size et max-file ?
- A. Pour accélérer l'application
- B. Pour que Docker cesse de capturer les journaux
- C. Parce que, par défaut, le fichier de journal n'a pas de limite de taille et peut saturer le disque
- D. Pour chiffrer les journaux
Réponse
C. Avec le pilote par défaut, le fichier de journal grossit sans limite. Les options de rotation en bornent la taille et le nombre de fichiers (section 2.2).
Question 5. Quelle commande mesure en continu la consommation de mémoire et de processeur des conteneurs ?
- A.
docker top - B.
docker events - C.
docker system df - D.
docker stats
Réponse
D. docker stats affiche CPU, mémoire, réseau, disque et nombre de processus. docker top liste les processus d'un conteneur, docker events les événements du moteur, docker system df l'espace disque (section 3).
Question 6. Un conteneur affiche Exited (137) et OOMKilled: true. Que s'est-il passé ?
- A. Il a terminé normalement
- B. Il a dépassé sa limite de mémoire et le noyau a tué son processus
- C. Sa commande est introuvable
- D. Son healthcheck a échoué
Réponse
B. Le code 137 correspond au signal 9 ; l'indicateur OOMKilled confirme que la cause est un manque de mémoire. Une commande introuvable donne le code 127 (sections 5.1 et 6.1).
Question 7. Quelle commande extrait uniquement le code de sortie d'un conteneur db ?
- A.
docker inspect -f '{{.State.ExitCode}}' db - B.
docker logs --exit db - C.
docker ps --code db - D.
docker stats --format ExitCode db
Réponse
A. L'option -f de docker inspect extrait un champ précis de la structure d'état du conteneur (section 5.2).
Question 8. Que se passe-t-il quand un conteneur dépasse la limite de processeur (--cpus 0.5) ?
- A. Il est tué
- B. Il est ralenti : il ne reçoit pas plus que sa part
- C. Il est redémarré
- D. Il reçoit plus de mémoire
Réponse
B. Un dépassement de processeur ralentit le conteneur, alors qu'un dépassement de mémoire provoque son arrêt par le noyau (section 6.1).
Question 9. Un conteneur est unhealthy. Que fait Docker de lui, seul, sans orchestrateur ?
- A. Il le redémarre automatiquement
- B. Il le supprime
- C. Il le signale, sans le redémarrer
- D. Il le déplace sur un autre réseau
Réponse
C. L'état de santé informe, il ne répare pas. Seul un orchestrateur, comme Swarm, peut remplacer un service défaillant (section 7).
Question 10. Dans quel ordre vaut-il mieux procéder face à une panne ?
- A. Supprimer la pile, la recréer, puis lire les journaux
- B. Modifier plusieurs paramètres à la fois pour gagner du temps
- C. Relire le fichier Compose, puis redémarrer tous les services
- D. Observer l'état et le code de sortie, lire les journaux, vérifier la configuration, puis tester l'intérieur, le réseau et les ressources, en changeant une chose à la fois
Réponse
D. La démarche va du plus simple au plus fin ; modifier une seule chose à la fois permet de savoir ce qui a résolu (ou aggravé) le problème (section 8).