Créer une application Node.js avec Docker¶
Ce guide explique comment créer une application Node.js et la faire fonctionner dans un conteneur Docker.
Étape 1 : Créer le répertoire de l'application¶
Créez un dossier pour votre projet et accédez-y dans votre terminal.
mkdir my-node-app
cd my-node-app
Étape 2 : Initialiser le projet Node.js¶
Initialisez un nouveau projet Node.js avec npm :
npm init -y
Ce fichier contient les métadonnées de votre projet, telles que son nom et ses dépendances.
Étape 3 : Créer le fichier principal¶
Créez un fichier app.js avec ce contenu :
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Bonjour, Docker et Node.js!');
});
const PORT = 3000;
app.listen(PORT, () => {
console.log(`Serveur lancé sur le port ${PORT}`);
});
Étape 4 : Installer les dépendances¶
Ajoutez Express, un framework minimaliste pour Node.js :
npm install express
Étape 5 : Tester l'application localement¶
Pour tester votre application en dehors de Docker, exécutez-la avec Node.js :
node app.js
Ensuite, ouvrez votre navigateur et accédez à http://localhost:3000. Vous devriez voir le message suivant :
Bonjour, Docker et Node.js!
Étape 6 : Créer le fichier Dockerfile¶
Ajoutez un fichier Dockerfile pour définir l'environnement de votre application :
# Utiliser une image Node.js officielle
FROM node:16
# Définir le répertoire de travail
WORKDIR /usr/src/app
# Copier les fichiers package.json et installer les dépendances
COPY package*.json ./
RUN npm install
# Copier tout le code dans le conteneur
COPY . .
# Exposer le port 3000
EXPOSE 3000
# Démarrer l'application
CMD ["node", "app.js"]
Étape 7 : Construire l'image Docker¶
Dans le répertoire de votre projet, exécutez cette commande pour créer une image Docker :
docker build -t my-node-app .
Étape 8 : Lancer le conteneur¶
Pour exécuter l'application dans un conteneur, utilisez la commande suivante :
docker run -p 3000:3000 my-node-app
L'application est maintenant accessible à l'adresse suivante : http://localhost:3000.
Étape 9 : Arrêter le conteneur¶
Pour arrêter le conteneur, trouvez son ID avec :
docker ps
Puis arrêtez-le avec :
docker stop <container-id>
Étape 10 : Tester l'application¶
Pour vérifier que tout fonctionne, ouvrez un navigateur ou utilisez une commande curl :
curl http://localhost:3000
Vous devriez voir :
Bonjour, Docker et Node.js!
Vous avez maintenant une application Node.js fonctionnant dans Docker ! 🎉