Exécuter un conteneur Docker

DockerBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire (lab), vous vous immergerez dans un scénario situé à l'époque victorienne, où vous prendrez le rôle d'un marchand d'antiquités. Votre objectif est de transporter et de présenter efficacement des artefacts historiques en utilisant la technologie moderne, plus précisément en exploitant les conteneurs Docker pour rationaliser vos opérations.

Imaginez que vous êtes un marchand d'antiquités respecté à Londres dans les années 1880, connu pour votre collection exceptionnelle d'artefacts du monde entier. Cependant, au lieu de caisses traditionnelles et de vitrines, vous avez découvert une technologie révolutionnaire appelée « conteneurs Docker » qui vous permet d'emballer, de transporter et de présenter vos objets précieux avec une efficacité et une sécurité sans précédent.

À la fin de ce laboratoire, vous comprendrez les bases des conteneurs Docker et comment les utiliser pour exécuter des applications, ce qui, dans notre scénario victorien, représente votre capacité à gérer et à présenter votre précieuse collection d'antiquités.

Configuration de votre environnement Docker

Dans cette étape, vous commencerez par vous assurer que votre environnement Docker est correctement configuré pour exécuter des conteneurs. Imaginez cela comme la préparation de votre atelier d'antiquités avec les outils et équipements nécessaires.

  1. Installez Docker en exécutant les commandes suivantes dans votre terminal :

    sudo apt update
    sudo apt install docker.io

    Cette première commande met à jour vos listes de paquets pour vous assurer d'obtenir la dernière version de Docker, tandis que la deuxième commande installe Docker lui-même. Le préfixe sudo accorde les privilèges d'administration nécessaires pour l'installation.

  2. Une fois Docker installé, démarrez le service Docker :

    sudo systemctl start docker

    Cette commande active le service Docker, similaire à l'ouverture de votre atelier pour les affaires. Le démon Docker est maintenant en cours d'exécution en arrière - plan, prêt à traiter vos demandes de conteneurs.

  3. Vérifiez que Docker est en cours d'exécution avec succès :

    sudo systemctl status docker

    Cette commande vérifie si Docker est actif et fonctionne correctement. Vous devriez voir une sortie avec "active (running)" en texte vert, confirmant que votre environnement Docker est prêt. Si vous voyez "inactive" ou tout message d'erreur, vous devrez peut - être réessayer de démarrer le service.

  4. Pour vous assurer que vous pouvez exécuter des commandes Docker sans utiliser sudo à chaque fois, ajoutez votre utilisateur au groupe Docker :

    sudo usermod -aG docker $USER

    Note : Après avoir exécuté cette commande, vous devrez peut - être vous déconnecter et vous reconnecter pour que les modifications prennent effet. Pour ce laboratoire (lab), nous continuerons à utiliser sudo avec nos commandes Docker pour garantir la compatibilité.

Exécution d'un conteneur Hello-World

Maintenant que votre environnement est configuré, vous allez exécuter votre premier conteneur Docker - un simple exemple "hello-world". Considérez cela comme l'exposition de votre premier artefact pour vous assurer que votre nouvelle technologie de conteneurs fonctionne comme prévu.

  1. Téléchargez l'image "hello-world" depuis Docker Hub :

    sudo docker pull hello-world

    Cette commande télécharge l'image hello-world depuis Docker Hub (un dépôt public d'images Docker). Imaginez cela comme l'acquisition de votre premier artefact d'une terre lointaine. Docker Hub sert de marketplace où vous pouvez trouver des conteneurs pré - emballés à diverses fins.

  2. Exécutez le conteneur "hello-world" :

    sudo docker run hello-world

    Cette commande crée et démarre un conteneur à partir de l'image hello-world. Le conteneur exécute un simple programme qui affiche un message puis se termine. Dans notre scénario victorien, cela équivaut à exposer brièvement votre premier artefact pour vérifier que votre nouveau système de conteneurs fonctionne correctement.

  3. Vérifiez la sortie pour vous assurer que le conteneur s'est exécuté avec succès. Vous devriez voir un message qui commence par "Hello from Docker!" suivi de quelques explications. Cela confirme que :

    • Docker est correctement installé
    • Votre système peut créer des conteneurs avec succès
    • Vous pouvez télécharger des images depuis Docker Hub
  4. Pour voir la liste de tous les conteneurs (y compris ceux qui se sont arrêtés) :

    sudo docker ps -a

    Cette commande affiche tous les conteneurs, y compris le conteneur hello-world qui s'est maintenant arrêté. Vous verrez des détails tels que l'ID du conteneur, l'image à partir de laquelle il a été créé, la date de création et son statut actuel.

Déploiement d'un serveur web Nginx

Dans cette étape, vous allez déployer un serveur web Nginx en utilisant un conteneur Docker. Dans notre scénario victorien, cela représente la mise en place d'une vitrine élégante (Nginx) pour exposer vos antiquités les plus précieuses (contenu web) aux visiteurs.

  1. Téléchargez l'image Nginx depuis Docker Hub :

    sudo docker pull nginx

    Cette commande télécharge l'image officielle de Nginx depuis Docker Hub. Nginx est un serveur web populaire capable de servir du contenu HTML. Cela équivaut à acquérir une belle vitrine pour votre collection d'antiquités.

  2. Exécutez un conteneur Nginx en mode détaché, en mappant le port 80 de l'hôte sur le port 80 du conteneur :

    sudo docker run -d -p 80:80 nginx

    Décortiquons cette commande :

    • run : Crée et démarre un nouveau conteneur
    • -d : Exécute le conteneur en mode détaché (en arrière - plan)
    • -p 80:80 : Mappe le port 80 de votre machine hôte sur le port 80 du conteneur, permettant au trafic web d'atteindre le serveur Nginx
    • nginx : Spécifie l'image à utiliser

    Cela revient à placer votre vitrine dans votre salle d'exposition et à vous assurer que les visiteurs peuvent voir vos antiquités.

  3. Vérifiez que votre conteneur Nginx est en cours d'exécution :

    sudo docker ps

    Cette commande affiche tous les conteneurs en cours d'exécution. Vous devriez voir votre conteneur Nginx dans la liste, indiquant qu'il est activement en fonction.

  4. Ajoutez une cartographie de service web depuis le menu supérieur du laboratoire (lab) et définissez la cartographie de port sur 80. Si le serveur web Nginx s'exécute avec succès, l'environnement de laboratoire automatisera la navigation vers une URL aléatoire dans le laboratoire du serveur, et vous devriez voir la page d'accueil par défaut de Nginx.

  5. Optionnel : Si vous souhaitez accéder au serveur Nginx depuis votre navigateur manuellement, vous pouvez vous rendre à l'adresse http://localhost ou à l'adresse IP de votre machine.

  6. Si vous rencontrez des problèmes, vous pouvez vérifier les journaux du conteneur :

    sudo docker logs <container_id>

    Remplacez <container_id> par l'ID de votre conteneur Nginx, que vous pouvez trouver dans la sortie de la commande docker ps.

Résumé

Dans ce laboratoire (lab), vous avez été initié aux concepts fondamentaux de l'exécution de conteneurs Docker. En simulant un contexte historique et en vous mettant dans la peau d'un marchand d'antiquités à l'époque victorienne, vous avez acquis une expérience pratique de l'utilisation des capacités d'exécution de Docker.

Vous avez appris à :

  • Configurer un environnement Docker
  • Télécharger des images depuis Docker Hub
  • Exécuter des conteneurs en mode foreground et en mode détaché
  • Exposer les ports des conteneurs à la machine hôte
  • Vérifier l'état des conteneurs

Ces compétences constituent la base de la technologie des conteneurs et peuvent être appliquées à un large éventail d'applications au-delà de notre scénario de marchand d'antiquités. Dans les environnements modernes, ces mêmes techniques sont utilisées pour déployer des applications allant de simples serveurs web à des architectures de microservices complexes.

La capacité à emballer des applications avec leurs dépendances dans des conteneurs portables révolutionne la façon dont nous déployons et gérons le logiciel, tout comme les conteneurs d'expédition standardisés ont transformé le commerce mondial. Comme le dirait notre marchand d'antiquités victorien : « Ces merveilleux conteneurs Docker révolutionneront la façon dont nous présentons nos trésors au monde! »