# TP : Création d'une image Docker

### Objectif

L'objectif est de **construire une image** qui embarque un script Python accessible en web.

<p class="callout info">Aucune connaissance de Python n'est requise.</p>

### Consignes

#### 1 - Téléchargement de l'application

Téléchargez le fichier zip suivant et dézippez-le.

**[🔗 https://formation-tfrichet-assets.s3.fr-par.scw.cloud/docker-tp-2/docker-tp-2.zip](https://formation-tfrichet-assets.s3.fr-par.scw.cloud/docker-tp-2/docker-tp-2.zip)**

Vous obtenez un dossier `app`.

[![image.png](https://formation.tfrichet.fr/uploads/images/gallery/2025-09/scaled-1680-/OifzVjWzhc98uEVw-image.png)](https://formation.tfrichet.fr/uploads/images/gallery/2025-09/OifzVjWzhc98uEVw-image.png)

#### 2 - Création du Dockerfile

**Créez et buildez** un Dockerfile en respectant les consignes ci-dessous.

- L'image de départ est `python:3.10-slim`.
- Le répertoire de travail est `/app`.
- Pendant la construction de l'image, les commandes doivent être exécutées :  
    ```bash
    apt-get update && apt-get install -y procps
    pip install flask
    ```
- L'application (dossier `app` téléchargé) doit être copiée dans le répertoire de travail de l'image.
- L'image écoute sur le port `5000`.
- Les commandes suivantes sont exécutées au démarrage d'un conteneur : `python` et `app.py`.
- Nommez l'image `tp2`.

#### 3 - Exécution d'un conteneur

Exécutez un conteneur avec la commande ci-dessous. N'oubliez pas de renseigner votre nom.

```bash
docker run -ti --rm -p 5000:5000 -e NAME=VOTRE_NOM_ICI tp2
```

Rendez-vous sur [http://127.0.0.1:5000](http://127.0.0.1:5000).

### Résultat attendu

<p class="callout warning">Le contenu du Dockerfile et la capture d'écran ci-dessous sont attendus pour valider le TP.</p>

[![image.png](https://formation.tfrichet.fr/uploads/images/gallery/2025-09/scaled-1680-/OAQ8Oy4wG8RUSpSK-image.png)](https://formation.tfrichet.fr/uploads/images/gallery/2025-09/OAQ8Oy4wG8RUSpSK-image.png)