Introduction
Docker a révolutionné la manière dont nous déployons et gérons les applications en introduisant les conteneurs : des environnements légers et portables qui s'exécutent de manière identique sur n'importe quelle machine équipée de Docker. En tant que développeur ou administrateur système, la maîtrise de la gestion des conteneurs est indispensable pour assurer un déploiement et une maintenance efficaces des applications. Dans ce défi, vous allez mettre vos compétences Docker à l'épreuve en réalisant une série de tâches couvrant les aspects essentiels de la manipulation des conteneurs via l'interface de ligne de commande (CLI).
Tout au long de ce défi, vous naviguerez à travers différents scénarios reflétant des situations réelles rencontrées en production. Du lancement de conteneurs à l'inspection de leurs journaux, en passant par l'exécution de commandes internes et le nettoyage final des ressources, vous acquerrez une expérience concrète sur l'ensemble du cycle de vie des opérations Docker.
Plongeons dans le vif du sujet et commençons à maîtriser l'art de la gestion des conteneurs !
Démarrer un conteneur
La première étape de tout flux de travail Docker consiste souvent à lancer un conteneur. Dans cette tâche, vous allez démarrer un conteneur et apprendre à accéder à ses journaux (logs), une compétence cruciale pour le dépannage et la surveillance du comportement des applications.
Tâches
Vos objectifs sont les suivants :
- Démarrer un conteneur nommé
my-container, basé sur l'imagenginx. - Consulter les journaux du conteneur
my-container.
Exigences
- Utilisez la commande
docker runpour démarrer le conteneur. - Utilisez la commande
docker logspour afficher les journaux du conteneur. - Effectuez toutes les opérations dans le répertoire
/home/labex/project.
Exemple
Une fois cette étape terminée avec succès, vous devriez voir votre conteneur en cours d'exécution en utilisant la commande docker ps. Le résultat devrait ressembler à ceci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a7d9f642a7f nginx "/docker-entrypoint.…" 12 seconds ago Up 11 seconds 80/tcp my-container
Ce résultat confirme que votre conteneur Nginx est opérationnel et prêt à servir du contenu web.
Excellent travail pour ce premier lancement ! Savoir démarrer des conteneurs et accéder à leurs logs est la base du travail avec Docker. Ensuite, nous verrons comment arrêter un conteneur en cours d'exécution.
Arrêter un conteneur
S'il est important de savoir lancer des conteneurs, savoir les arrêter proprement l'est tout autant. Cette compétence est particulièrement utile lorsque vous devez effectuer une maintenance, mettre à jour des configurations ou simplement libérer des ressources système.
Tâches
Votre objectif est le suivant :
- Arrêter le conteneur nommé
my-container.
Exigences
- Utilisez la commande
docker stoppour arrêter le conteneur. - Effectuez toutes les opérations dans le répertoire
/home/labex/project.
Exemple
Après avoir arrêté le conteneur avec succès, vous pouvez utiliser docker ps -a pour visualiser tous les conteneurs, y compris ceux qui sont à l'arrêt. Le résultat devrait ressembler à ceci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3a7d9f642a7f nginx "/docker-entrypoint.…" 2 minutes ago Exited (0) 10 seconds ago my-container
Notez que le statut de my-container est passé à "Exited", indiquant qu'il a été arrêté avec succès.
Parfait ! Cette compétence est essentielle pour gérer efficacement le cycle de vie des conteneurs. Maintenant que vous maîtrisez le démarrage et l'arrêt, passons à un sujet plus avancé : l'exécution de commandes à l'intérieur d'un conteneur actif.
Exécuter des commandes dans un conteneur
L'une des fonctionnalités les plus puissantes de Docker est la possibilité d'exécuter des commandes à l'intérieur d'un conteneur en cours d'exécution. Cette capacité est inestimable pour le débogage, les tâches de maintenance ou la mise à jour de configurations sans avoir à arrêter le service.
Tâches
Vos objectifs sont les suivants :
- Démarrer un conteneur nommé
my-shell-container, basé sur l'imageubuntu. Le conteneur doit rester actif en arrière-plan. - Exécuter la commande
echo "Hello World"à l'intérieur du conteneurmy-shell-container.
Exigences
- Utilisez la commande
docker runpour démarrer le conteneur. - Assurez-vous que le conteneur reste actif après son lancement.
- Utilisez la commande
docker execpour exécuter la commande à l'intérieur du conteneur. - Effectuez toutes les opérations dans le répertoire
/home/labex/project.
Astuce
Les conteneurs basés sur l'image ubuntu s'arrêtent immédiatement après leur lancement à moins qu'une commande de longue durée ne soit spécifiée. Pour maintenir le conteneur actif, envisagez d'utiliser une commande telle que sleep infinity lors du démarrage. Par exemple :
docker votre-commande sleep infinity
Exemple
Après avoir démarré le conteneur, utilisez docker ps pour confirmer qu'il est bien actif. Le résultat devrait ressembler à ceci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1a2b3c4d5e6f ubuntu "<command>" 30 seconds ago Up 29 seconds my-shell-container
Lorsque vous exécutez la commande echo à l'intérieur du conteneur, vous devriez voir le message suivant :
Hello World
Cela démontre que vous avez réussi à interagir avec l'environnement interne du conteneur.
Excellent ! Vous savez maintenant comment interagir avec un conteneur actif. Cette compétence ouvre de nombreuses possibilités pour la gestion et la maintenance. Dans la dernière étape, nous apprendrons à faire le ménage en supprimant les conteneurs inutiles.
Supprimer un conteneur
En travaillant avec Docker, vous créerez souvent des conteneurs pour des tâches temporaires ou des tests. Il est important de supprimer ces conteneurs lorsqu'ils ne sont plus nécessaires afin de libérer des ressources système et de maintenir votre environnement Docker propre.
Tâches
Votre objectif est le suivant :
- Arrêter et supprimer le conteneur nommé
my-shell-container.
Exigences
- Utilisez la commande
docker stoppour arrêter le conteneur. - Utilisez la commande
docker rmpour supprimer le conteneur. - Effectuez toutes les opérations dans le répertoire
/home/labex/project.
Exemple
Une fois cette étape terminée, utilisez docker ps -a pour confirmer que my-shell-container a bien été supprimé. Il ne devrait plus apparaître dans la liste :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Cela indique que le conteneur a été définitivement retiré de votre système.
Félicitations pour avoir terminé cette dernière étape ! Vous savez maintenant comment nettoyer votre environnement Docker. C'est une habitude indispensable pour maintenir un espace de travail organisé et performant.
Résumé
Au cours de ce défi complet, vous avez exploré les aspects fondamentaux de la gestion des conteneurs Docker. Vous avez démontré votre capacité à démarrer des conteneurs, consulter leurs logs, les arrêter, exécuter des commandes en leur sein et enfin les supprimer.
Ces compétences constituent le socle d'une utilisation efficace de Docker et vous seront utiles dans de nombreux contextes, du développement local aux déploiements en production. Vous avez acquis une expérience pratique de la CLI Docker, un outil indispensable pour quiconque travaille avec des applications conteneurisées.
Tout au long de votre apprentissage, gardez à l'esprit que ces opérations de base sont les briques élémentaires de flux de travail Docker plus complexes. Pratiquez-les régulièrement pour gagner en fluidité et optimiser vos processus de développement et de déploiement.
Continuez à explorer les capacités de Docker et n'hésitez pas à expérimenter avec différentes images et configurations. Le monde de la conteneurisation est vaste, et vous êtes désormais bien équipé pour y naviguer avec confiance !



