Rapport TP01 - GuillaumeDelferiere/Admin-R-seaux_2_M1-4 GitHub Wiki

Noms des auteurs :

Date de réalisation :

1. Premier container

1.1. Hello World

Pouvez-vous expliquer avec vos mots ce qui s'est passé suite à l'exécution de cette commande? Suite à l'exécution de la commande docker run hello-world, la machine a cherché si une image était déjà disponible sur la machine portant le nom de hello-world. Comme il n'y en avait pas, elle a cherché sur le repository public et l'a téléchargée depuis ce repository.

1.2. Observer un container

🔴 mettre un screenshot 🔴 Retrouvez les informations suivantes sur le container lancé précédemment :

  1. Quel est son identifiant ?
  • 26aa4df3e93b
  1. Quel est son nom ?
  • reverent_tu
  1. Quel est son état ?
  • Exited
  1. Quel est le nom de son image? Avez-vous vu au point 1.1. d''où cette image provenait?
  • hello-world
  1. Quelle commande le container a-t-il exécuté?
  • "/hello"
  1. Si vous avez installer Docker Desktop, pouvez-vous retrouver ces mêmes informations dans l'interface graphique?
  • Oui

1.3. Les images

  1. Quelles informations voyez-vous? Quel est le lien avec ce que vous avez observé auparavant? Je reçois différentes informations :
  • Repository : nom de l'image
  • TAG : information de la version
  • Image ID : un ID unique par image
  • Created : date de la création de l'image (création au niveau du repo, pas de l'image)
  • Size : taille de l'image
  1. Comparez l'output de cette commande avec la vue correspondante de l'interface graphique.
    🔴 mettre le screenshot 🔴
  1. Essayez de trouver la commande qui vous permettra de supprimer cette image. C'est une bonne idée de ne pas conserver les images non utilisées sur votre système de fichiers : même avec la mutualisation de couches, elles prennent de l'espace sur le disque!
  • docker rmi nom_image
  • docker rmi id_image

2. Utiliser un container

2.1. Interagir avec un container

  1. A quoi servent les options i et tdans la commande ci-dessus?
  • L'option i va permettre d'interagir directement avec la machine en y entrant les commandes de manière interactive
  • L'option t va allouer un terminal pour le container
  1. Chaque container Docker est destiné à exécuter une commande unique. Quelle est-elle dans ce cas-ci?
  • Dans ce cas-ci, ce sont les commandes bash
  1. Dans le container, quels sont les processus présents? Et leurs PIDs?
  • La seule commande qui tourne dans ce container est la commande ps et son PID est 9
  1. Avec quel utilisateur êtes-vous loggé?
  • L'utilisateur root
  1. Votre container a-t'il accès à Internet? Qui est son résolveur?
  • Oui, mon container a accès à Internet et son résolveur est 192.168.65.7

2.2. Inspecter un container

  1. Chaque container dispose d'une interface réseau. Quelle est l'adresse IP de l'interface de votre container?
  2. Votre container a-t'il des ports ouverts?

2.3. Faire tourner un service dans un container

  • Qu'avez-vous observé au niveau des "ports" ? Expliquez et illustrez votre réponse avec des screenshots.
  • Quand je lance la commande docker run --name=mon-serveur-web nginx, je peux voir que le port n'est pas ouvert.
  • Je lance donc la commande docker run -p80:80 --name=mon-server-web nginx. Quand je fais la commande docker container ls, je peux maintenant accéder au port 80 par localhost:80

🔴 Mettre le screen 🔴

3. Construire des images

3.1. Figer un container

3.2. Créer une image sur base d'un Dockerfile

Exercices récapitulatifs

Documentez ici la réalisation des exercices, via des explications et des snapshots.

4.1. Démarrer un serveur Web Apache

4.2. Lancer un résolveur Bind dans un container Docker

  1. Quelle configuration avez-vous effectuée au niveau des ports ?
  2. Qu'avez-vous observé dans la trace Wireshark qui prouve que la configuration est correcte? Illustrez avec un screenshot de la capture.

4.3. Container avec script Python