Dans le monde du développement web, la containerisation est devenue une pratique incontournable pour garantir la portabilité et la flexibilité des applications. Parmi les solutions existantes, Docker s’impose comme une référence.
Dans cet article, nous allons voir comment containeriser une application web avec Docker, étape par étape.
Qu’est-ce que Docker ?
Docker est une plateforme permettant de développer, livrer et exécuter des applications dans des conteneurs. Un conteneur est une unité standardisée qui embarque tout le nécessaire pour faire fonctionner une application : le code, les dépendances, les bibliothèques et la configuration système. Résultat : l’application se comporte exactement de la même manière, qu’elle soit exécutée en local, sur un serveur ou dans le cloud.Les avantages de la containerisation
- Portabilité : une application Dockerisée peut s’exécuter sur n’importe quelle machine disposant de Docker.
- Isolation : chaque conteneur fonctionne indépendamment, évitant les conflits entre projets.
- Scalabilité : il est facile de dupliquer des conteneurs pour absorber une montée en charge.
- Efficacité : les conteneurs sont plus légers et plus rapides que les machines virtuelles.
Pré-requis
Avant de commencer, assurez-vous d’avoir installé Docker (via Docker Desktop sur Windows/macOS ou le moteur Docker sur Linux). Vérifiez l’installation avec la commande suivante :docker --version
Si une version s’affiche, vous êtes prêt 🚀
Containeriser une application web avec Docker
Pour cet exemple, nous allons créer une application web simple avec Node.js et Express, puis la placer dans un conteneur Docker.1. Créer l’application Node.js
mkdir mon-app-docker cd mon-app-docker npm init -y npm install express
Créez ensuite le fichier app.js :
const express = require('express'); const app = express(); const PORT = 3000; app.get('/', (req, res) => { res.send('Hello World from Docker!'); }); app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`); }); 2. Créer le Dockerfile
Le Dockerfile décrit comment construire l’image de votre application.FROM node:18 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "app.js"]
👉 Le fait de copier d’abord les fichiers package.json permet à Docker de mettre en cache les dépendances, ce qui accélère les builds suivants.
3. Ajouter un .dockerignore
Créez un fichier .dockerignore :node_modules npm-debug.log
Cela évite de copier des fichiers inutiles dans l’image Docker.
4. Construire et exécuter le conteneur
Construisez l’image :docker build -t mon-app-docker .
Puis lancez le conteneur :
docker run -p 3000:3000 mon-app-docker
Ouvrez votre navigateur sur http://localhost:3000
🎉
Vous devriez voir : Hello World from Docker!