• 1. préparer le Dockerfile multi-étapes

  • 2. définir le fichier docker-compose.yml

  • 3. lancer et vérifier le déploiement

  • 4. bonnes pratiques pour la production

  • 5. passer à l’échelle et CI/CD

  • 6. conclusion

dockeriser votre application node.js avec Docker Compose et Traefik pour une mise en production sécurisée

Image de dockeriser votre application node.js avec Docker Compose et Traefik pour une mise en production sécurisée

Dans ce guide technique, nous allons dockeriser une application Node.js et la mettre en production avec Docker Compose et Traefik. Vous apprendrez à construire une image optimisée, configurer un proxy inverse automatisé pour le TLS et déployer votre stack en quelques commandes. L’objectif : un processus reproductible, sécurisé et facile à maintenir.

1. préparer le Dockerfile multi-étapes

Le Dockerfile multi-étapes réduit la taille finale de l’image et améliore la sécurité :

FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

FROM node:18-alpine AS runtime
WORKDIR /app
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
EXPOSE 3000
CMD ["node", "dist/server.js"]

Explications :

  • Étape builder : installe les dépendances et génère les fichiers compilés.
  • Étape runtime : ne conserve que le nécessaire pour exécuter l’application.

2. définir le fichier docker-compose.yml

Créez un fichier docker-compose.yml à la racine :

version: "3.8"
services:
  app:
    image: votre-registry/app:latest
    build:
      context: .
      target: runtime
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.app.rule=Host(`votre-domaine.com`)"
      - "traefik.http.routers.app.entrypoints=websecure"
      - "traefik.http.routers.app.tls.certresolver=le"
    restart: always
    networks:
      - web

  traefik:
    image: traefik:v2.10
    command:
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.le.acme.email=admin@votre-domaine.com"
      - "--certificatesresolvers.le.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"
      - "./letsencrypt:/letsencrypt"
    networks:
      - web

networks:
  web:
    external: false

3. lancer et vérifier le déploiement

  1. Construire et démarrer les services :
    docker-compose up -d --build
  2. Vérifier les logs Traefik :
    docker-compose logs -f traefik
  3. Tester l’accès en HTTPS sur https://votre-domaine.com.

4. bonnes pratiques pour la production

  • Scannez vos images avec docker scan ou un outil interne (technologies/docker).
  • Limitez les ressources CPU/mémoire dans docker-compose.yml pour éviter les débordements.
  • Activez un monitoring léger (HEALTHCHECK dans le Dockerfile) et centralisez les logs.
  • Isoler les volumes importants et chiffrez les données sensibles.

5. passer à l’échelle et CI/CD

Pour une montée en charge, vous pouvez :

  • Ajouter un load balancer ou scaler les services via docker-compose scale app=3.
  • Intégrer ces étapes dans votre pipeline CI/CD (services/saas) pour automatiser le déploiement.

conclusion

Vous avez désormais un environnement Dockerisé prêt pour la production, avec un proxy Traefik gérant automatiquement les certificats TLS. Ce workflow améliore la sécurité, la maintenabilité et la rapidité de déploiement de votre application Node.js. Pour aller plus loin ou obtenir un accompagnement personnalisé, contactez nos experts.

Image de Comment gagner 1h par jour grâce à un agent IA connecté à votre CRM

Comment gagner 1h par jour grâce à un agent IA connecté à votre CRM

Découvrez en 4 étapes comment connecter un agent IA à votre CRM pour automatiser relances, enrichir contacts et gagner une heure par jour.
Image de hubspot enrichit son CRM avec des insights et emails automatisés par IA

hubspot enrichit son CRM avec des insights et emails automatisés par IA

Découvrez comment HubSpot enrichit son CRM avec l’IA pour prioriser vos opportunités et automatiser vos emails de relance, pour accélérer vos ventes.
Image de comment automatiser la prospection commerciale en pme avec un assistant ia

comment automatiser la prospection commerciale en pme avec un assistant ia

Automatisez la prospection commerciale en PME avec un assistant IA en suivant étapes clés : objectifs, CRM et scénarios pour générer des leads qualifiés
DEVIS GRATUIT

Un projet en tête ? Vous avez des questions ?

Contactez nous pour recevoir un devis gratuitement, des réponses à vos questions ou une séance de consulting offerte avec l'un de nos experts :

Nous contacter