Maîtrise de Docker dans les Prairies Gelasiennes

DockerBeginner
Pratiquer maintenant

Introduction

Imaginez-vous dans les plaines ancestrales de Gelasian, où les chevaux sauvages galopent en toute liberté. Dans cet environnement vaste et indompté, le lien entre un dresseur et ses montures est vital pour la survie. Vous incarnez ce dresseur de chevaux sauvages, et votre mission consiste à utiliser Docker pour gérer efficacement vos conteneurs au sein de ce paysage immense.

Maîtriser la création de conteneurs

Dans cette étape, vous apprendrez les bases de la création et de la gestion des conteneurs Docker pour assurer votre survie dans les prairies sauvages.

Tâches

  • Créer un conteneur Nginx nommé mynginx et s'assurer qu'il fonctionne correctement.
  • Lancer un conteneur Alpine et vérifier son état.
  • Déployer un conteneur Ubuntu avec un volume spécifique attaché (monter le répertoire hôte ~/project vers le répertoire /app du conteneur).

Exigences

  • Toutes les opérations doivent être effectuées dans le répertoire /home/labex/project.
  • Utilisez les commandes suivantes :
    • Pour la création de conteneurs : docker run
    • Pour la vérification de l'état : docker ps
    • Pour l'attachement d'un volume : docker run -v

Exemple

Une fois les tâches accomplies, la sortie de la commande docker ps devrait afficher les conteneurs en cours d'exécution, incluant les informations relatives à l'ID du conteneur, l'image utilisée et son statut.

labex:~/ $ docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
1983f85f03d4   ubuntu    "sleep 3600"             22 seconds ago   Up 21 seconds             ubuntu_container
4231996cae33   alpine    "sleep 3600"             2 minutes ago    Up 2 minutes              alpine_container
519eadd3ced5   nginx     "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes    80/tcp    mynginx

Réseautage et communication entre conteneurs

Dans cette étape, vous allez explorer l'univers du réseau Docker afin d'établir une connectivité fluide à travers les prairies.

Tâches

  • Créer un réseau personnalisé nommé mynetwork pour vos conteneurs.
  • Déployer un conteneur Alpine nommé myalpine sur ce réseau personnalisé et s'assurer qu'il peut communiquer avec un autre conteneur nommé mypython (basé sur l'image Python) situé sur le même réseau.

Exigences

  • Toutes les opérations doivent rester confiner au répertoire /home/labex/project.
  • Utilisez les commandes suivantes :
    • Pour créer un réseau personnalisé : docker network create
    • Pour connecter des conteneurs à un réseau : docker network connect

Exemple

À la fin de l'exercice, le réseau personnalisé doit apparaître lors de l'exécution de docker network ls, et le conteneur Python doit pouvoir communiquer avec succès avec les autres conteneurs du réseau.

Visualiser le réseau :

labex:~/ $ docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
1a367e6cc4e5   bridge      bridge    local
91199fc6ad2e   host        host      local
32e2857073a9   minikube    bridge    local
92d3b71b7efd   mynetwork   bridge    local
1078d2c781b6   none        null      local

Vérifier la connexion entre les conteneurs via ping :

labex:~/ $ docker exec myalpine ping mypython
PING mypython (172.18.0.3): 56 data bytes
64 bytes from 172.18.0.3: seq=0 ttl=64 time=0.153 ms
64 bytes from 172.18.0.3: seq=1 ttl=64 time=0.072 ms
64 bytes from 172.18.0.3: seq=2 ttl=64 time=0.069 ms

Résumé

Dans ce défi, vous avez endossé le rôle d'un dresseur de chevaux sauvages dans des prairies antiques, maîtrisant l'art de la gestion des conteneurs Docker. En accomplissant ces tâches et en analysant les solutions, vous avez acquis des compétences fondamentales en gestion de conteneurs et en réseautage, des atouts indispensables pour évoluer dans l'écosystème Docker.

✨ Vérifier la solution et pratiquer✨ Vérifier la solution et pratiquer