TW3 — Technologies du Web 3

🐳 Docker

Docker permet de créer, déployer et exécuter des applications dans des conteneurs. Cette page montre un workflow simple avec Node.js.

🛠️ Installation

Pour commencer, assurez-vous d'avoir Docker installé sur votre système. Vous pouvez télécharger Docker Desktop pour votre système d'exploitation sur le site officiel de Docker.

🟩 Création d'un Dockerfile

Pour conteneuriser une application Node.js, créez un fichier Dockerfile à la racine de votre projet :

FROM node:22-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

🟩 Construction de l'image

Pour construire l'image Docker, exécutez la commande suivante :

docker build -t mon-app-nodejs .

🟩 Exécution du conteneur

Pour démarrer votre application dans un conteneur :

docker run -p 3000:3000 mon-app-nodejs

🧪 Bonnes pratiques

  1. Utilisez une image Node.js LTS encore supportée (node:22-alpine, node:24-alpine, etc.).
  2. Optimisez la taille de l'image avec un .dockerignore.
  3. Utilisez des images multi-stage pour la production.
  4. Gérez correctement les variables d'environnement.
  5. Implémentez la surveillance de la santé de l'application.

🟩 Docker Compose

Pour les applications plus complexes, utilisez Docker Compose :

services:
  app:
    build: .
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production

Avec Docker Compose v2, le champ version: n'est plus nécessaire pour ce type de fichier et il est généralement omis.

🟩 Déploiement

Pour déployer votre application conteneurisée :

  1. Poussez votre image vers un registre Docker.
  2. Configurez votre environnement de production.
  3. Utilisez des outils d'orchestration comme Kubernetes si nécessaire.

🟩 Dépannage

  • Vérifiez les logs avec docker logs.
  • Inspectez les conteneurs avec docker inspect.
  • Utilisez docker exec pour accéder au shell du conteneur.

Tooling

Terminez le quiz du chapitre pour le marquer comme complété.

Tableau de bord

On this page