Accéder aux conteneurs et les gérer

DockerBeginner
Pratiquer maintenant

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 :

  1. Démarrer un conteneur nommé my-container, basé sur l'image nginx.
  2. Consulter les journaux du conteneur my-container.

Exigences

  • Utilisez la commande docker run pour démarrer le conteneur.
  • Utilisez la commande docker logs pour 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.

✨ Vérifier la solution et pratiquer

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 :

  1. Arrêter le conteneur nommé my-container.

Exigences

  • Utilisez la commande docker stop pour 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.

✨ Vérifier la solution et pratiquer

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 :

  1. Démarrer un conteneur nommé my-shell-container, basé sur l'image ubuntu. Le conteneur doit rester actif en arrière-plan.
  2. Exécuter la commande echo "Hello World" à l'intérieur du conteneur my-shell-container.

Exigences

  • Utilisez la commande docker run pour démarrer le conteneur.
  • Assurez-vous que le conteneur reste actif après son lancement.
  • Utilisez la commande docker exec pour 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.

✨ Vérifier la solution et pratiquer

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 :

  1. Arrêter et supprimer le conteneur nommé my-shell-container.

Exigences

  • Utilisez la commande docker stop pour arrêter le conteneur.
  • Utilisez la commande docker rm pour 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.

✨ Vérifier la solution et pratiquer

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 !