# Exercice : Dockerfile ## Informations générales | Élément | Description | |-----------------------|-------------| | **Compétences** | Créer et documenter sous forme versionnée le code nécessaire à la mise à disposition des services. | | **Objectifs** | À la fin de cette séquence, les apprentis seront capables de construire des fichiers Dockerfile impliquant les commandes principales. | | **Durée estimée** | 30 min | | **Répertoire de travail** | `C:\Docker\docker-network` (Windows) ou `~/docker/docker-dockerfile` (Linux) | | **Fichiers sources** | [📥 Télécharger le server.js](material/server.js) et [📥 Télécharger le package.json](material/package.json) | | **À produire** | Un document imprimé avec vos réponses et remarques | | **Moyens d’aide** | Le support de cours | --- ## ExoDockerfile1 Écrivez un `Dockerfile` pour une application Node.js avec les spécifications suivantes : - Image de base : `node:22-alpine` - Code source : - Configuration : Installer les dépendances avec `npm install` - Exposition : rendre l’application accessible sur le port `3000` - Démarrage : configurer le conteneur pour exécuter `npm run start` Construisez l’image à partir de ce Dockerfile (**tag** : `exodockerfile1:latest`). 1. Quelle commande vous permet de démarrer correctement cette image dans un conteneur nommé `exodockerfile1` ? (Expliquez aussi les paramètres) 2. En ouvrant le fichier `package.json`, vous constatez la présence d’un script de test. Écrivez la commande qui permette de démarrer ce test (expliquez aussi les paramètres). 3. Expliquez avec vos propres mots les différences et les points communs entre les commandes **ENTRYPOINT** et **CMD**.