Skip to content
ZosiscoIV edited this page Apr 18, 2025 · 1 revision

Noms des auteurs : BONTEMS Antoine, SCHOONYANS Ann-Lore, LAMAND Cyril

Date de réalisation : 13/02/2025

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?

Le client Docker recherche en local si l'image hello-world existe, comme ce n'est pas le cas, il demande au daemon d'aller la lui chercher et puis l'exécute, ce qui produit le message en console "Hello from Docker!
This message shows that your installation appears to be working correctly."

1.2. Observer un container

Retrouvez les informations suivantes sur le container lancé précédemment :

  1. Quel est son identifiant ?
    b445e112c798
  2. Quel est son nom ?
    laughing_borg
  3. Quel est son état ?
    Exited (0) 15 minutes ago
  4. Quel est le nom de son image? Avez-vous vu au point 1.1. d''où cette image provenait?
    hello-world | L'image vient du Docker Hub, dans library/hello-world
  5. Quelle commande le container a-t-il exécuté?
    "/hello"
  6. Si vous avez installer Docker Desktop, pouvez-vous retrouver ces mêmes informations dans l'interface graphique?
    /

1.3. Les images

  1. Quelles informations voyez-vous? Quel est le lien avec ce que vous avez observé auparavant?
    La liste des images présentes en local
  2. Comparez l'output de cette commande avec la vue correspondante de l'interface graphique.
    /
  3. 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!
    image

2. Utiliser un container

2.1. Interagir avec un container

  1. A quoi servent les options i et tdans la commande ci-dessus?
    i pour pouvoir interagir avec le container et t pour faire du terminal un shell

  2. Chaque container Docker est destiné à exécuter une commande unique. Quelle est-elle dans ce cas-ci?
    bash

  3. Dans le container, quels sont les processus présents? Et leurs PIDs?
    image

  4. Avec quel utilisateur êtes-vous loggé?
    root

  5. Votre container a-t'il accès à Internet? Qui est son résolveur?
    image

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?
    image

  2. Votre container a-t'il des ports ouverts?
    non :
    image

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.
    Le container est ouvert sur le port 80, comme illustré ci-dessous :
    image image
    la commande docker run -p 80:80 --name mon-serveur-web nginx permet de mapper le port 80 de la machine hôte (80:80) au port 80 du container (80:80).
    Une fois cela fait, le serveur web est accessible depuis l'extérieur du container :
    image

3. Construire des images

image

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

image

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

  1. Quelle configuration avez-vous effectuée au niveau des ports ?
    le port 53 du container est redirigé vers un port libre de l'hôte, le port 53 et 5353 étant déjà occupé, il est ici sur le port 5354
  2. Qu'avez-vous observé dans la trace Wireshark qui prouve que la configuration est correcte? Illustrez avec un screenshot de la capture.
    La requête part bien vers le resolveur spécifié dans la config du container.
    image

4.3. Container avec script Python

image

Clone this wiki locally