Introduction
Dans ce labo (lab), vous apprendrez à utiliser la commande docker container top pour inspecter les processus en cours d'exécution à l'intérieur d'un conteneur Docker. Vous commencerez par démarrer un conteneur simple pour disposer d'un environnement d'exécution.
Ensuite, vous utiliserez la commande docker container top pour visualiser les processus actifs dans le conteneur. Enfin, vous explorerez comment utiliser docker container top avec diverses options ps pour personnaliser la sortie et obtenir des informations plus détaillées sur les processus du conteneur.
Démarrer un conteneur simple
Dans cette étape, vous apprendrez comment démarrer un conteneur Docker simple. Les conteneurs Docker sont des unités légères, portables et autonomes qui contiennent tout le nécessaire pour exécuter une application.
Commencez par télécharger l'image hello-world depuis Docker Hub. Il s'agit d'une image très légère souvent utilisée pour tester le bon fonctionnement de Docker.
docker pull hello-world
Vous devriez voir une sortie indiquant que l'image est en cours de téléchargement et d'extraction.
Maintenant, exécutons un conteneur basé sur l'image hello-world.
docker run hello-world
Lorsque vous exécutez cette commande, Docker crée un nouveau conteneur à partir de l'image hello-world et exécute la commande définie dans l'image. L'image hello-world est conçue pour simplement afficher un message dans la console puis se terminer.
Vous devriez voir une sortie similaire à ceci :
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To discover more examples and ideas, visit:
https://docs.docker.com/get-started/
Cette sortie confirme que Docker est correctement installé et fonctionne sur votre VM LabEx. La commande docker run a créé et démarré un conteneur, qui a ensuite exécuté sa tâche avant de se terminer.
Utiliser docker container top pour visualiser les processus en cours
Dans cette étape, vous apprendrez à utiliser la commande docker container top pour visualiser les processus en cours d'exécution à l'intérieur d'un conteneur Docker. Cette commande est similaire à la commande top sur un système Linux, mais elle affiche spécifiquement les processus s'exécutant dans un conteneur.
Tout d'abord, nous avons besoin d'un conteneur en cours d'exécution. Démarrons un simple conteneur ubuntu et maintenons-le actif en arrière-plan. Nous utiliserons l'option -d pour exécuter le conteneur en mode détaché et la commande sleep infinity pour maintenir le conteneur actif.
docker run -d ubuntu sleep infinity
Vous verrez une longue chaîne de caractères s'afficher dans la console. Il s'agit de l'ID du conteneur.
Maintenant, utilisons docker container top suivi de l'ID ou du nom du conteneur pour voir les processus en cours d'exécution. Vous pouvez obtenir l'ID du conteneur en exécutant docker ps.
docker ps
Copiez le CONTAINER ID dans la sortie. Puis, remplacez <container_id> par l'ID réel dans la commande suivante :
docker container top <container_id>
Vous devriez voir une sortie similaire à ceci, montrant le processus sleep infinity en cours d'exécution dans le conteneur :
UID PID PPID C STIME TTY TIME CMD
root 7345 7331 0 14:55 ? 00:00:00 sleep infinity
La sortie affiche des informations sur les processus en cours d'exécution dans le conteneur spécifié, notamment :
- User ID (UID)
- Process ID (PID)
- Parent Process ID (PPID)
- Utilisation CPU (C)
- Heure de démarrage (STIME)
- Terminal de contrôle (TTY)
- Temps CPU cumulé (TIME)
- Commande exécutée (CMD)
Dans ce cas, le processus principal est sleep infinity.
Utiliser docker container top avec des options ps
Dans cette étape, vous apprendrez à utiliser la commande docker container top avec des options ps pour personnaliser l'affichage et visualiser des informations spécifiques sur les processus dans un conteneur. La commande docker container top accepte les options standard de ps, vous permettant de contrôler quelles colonnes sont affichées et dans quel format.
Tout d'abord, assurez-vous d'avoir un conteneur en cours d'exécution depuis l'étape précédente. Vous pouvez le vérifier en exécutant docker ps.
docker ps
Copiez le CONTAINER ID du conteneur ubuntu en cours d'exécution.
Maintenant, utilisons docker container top avec quelques options ps. Par exemple, pour afficher uniquement l'ID du processus (pid) et la commande (cmd), vous pouvez utiliser l'option -o suivie des colonnes souhaitées. Remplacez <container_id> par l'ID de votre conteneur.
docker container top pid,cmd < container_id > -o
Vous devriez voir une sortie similaire à ceci, montrant uniquement les colonnes PID et CMD :
PID CMD
7345 sleep infinity
Vous pouvez utiliser différentes options ps pour obtenir diverses informations. Par exemple, pour voir l'utilisation du CPU (%cpu) et de la mémoire (%mem), vous pouvez utiliser :
docker container top pid,%cpu,%mem,cmd < container_id > -o
La sortie inclura l'utilisation du CPU et de la mémoire pour les processus dans le conteneur :
PID %CPU %MEM CMD
7345 0.0 0.0 sleep infinity
Vous pouvez consulter la documentation de la commande ps pour une liste complète des options disponibles. L'utilisation de docker container top avec des options ps offre une méthode flexible pour surveiller les processus en cours d'exécution dans vos conteneurs et résoudre des problèmes.
Résumé
Dans ce lab, vous avez appris les étapes fondamentales pour interagir avec des conteneurs Docker. Vous avez commencé par télécharger et exécuter l'image simple hello-world, ce qui a servi de test de base pour votre installation Docker et a démontré les commandes principales docker pull et docker run. Cette première étape a illustré comment Docker récupère des images et crée des conteneurs pour exécuter des tâches prédéfinies.
Ensuite, vous avez été initié à la commande docker container top. Bien que le contenu complet n'ait pas été fourni, le titre de l'étape indique que vous apprendriez à utiliser cette commande pour inspecter les processus en cours d'exécution dans un conteneur, de manière similaire à la commande top dans un environnement Linux standard. La dernière étape, "Utiliser docker container top avec des options ps", suggère une exploration plus poussée des capacités de docker container top, démontrant probablement comment personnaliser l'affichage en utilisant des options similaires à celles de la commande ps.



