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é
mynginxet 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
~/projectvers le répertoire/appdu 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
- Pour la création de conteneurs :
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é
mynetworkpour vos conteneurs. - Déployer un conteneur Alpine nommé
myalpinesur 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
- Pour créer un réseau personnalisé :
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.



