
Docker et Containerization
Dockerfile pour Node.js/NestJS, docker-compose (Node + DB + Redis), multi-stage builds, optimisation des images, .dockerignore, volumes, networks, container orchestration basics
1Qu'est-ce que Docker ?
Qu'est-ce que Docker ?
Réponse
Docker est une plateforme de containerisation qui permet d'empaqueter une application et ses dépendances dans un container isolé. Contrairement aux machines virtuelles qui virtualisent le hardware, Docker partage le kernel de l'OS hôte, ce qui le rend léger et rapide. Utiliser Docker garantit que l'application fonctionne de manière identique en développement, staging et production.
2Quelle est la différence principale entre un container Docker et une machine virtuelle ?
Quelle est la différence principale entre un container Docker et une machine virtuelle ?
Réponse
Un container Docker partage le kernel de l'OS hôte et virtualise seulement l'espace utilisateur, ce qui le rend très léger (quelques Mo) et démarre en secondes. Une VM virtualise le hardware complet et inclut un OS entier (plusieurs Go), démarrant en minutes. Les containers sont donc plus efficaces pour microservices et CI/CD.
3Quel est le rôle du Dockerfile ?
Quel est le rôle du Dockerfile ?
Réponse
Le Dockerfile est un fichier texte contenant les instructions pour construire une image Docker. Chaque instruction (FROM, COPY, RUN, CMD) crée une layer dans l'image. Il définit l'environnement d'exécution, les dépendances, et la commande de démarrage. Un Dockerfile bien optimisé utilise le layer caching et multi-stage builds pour réduire la taille de l'image finale.
Quelle instruction Dockerfile définit l'image de base ?
Quelle est la différence entre CMD et ENTRYPOINT dans un Dockerfile ?
+22 questions d'entretien
Autres sujets d'entretien Node.js / NestJS
Fondamentaux Node.js
APIs Core Node.js
Programmation asynchrone
Bases Express.js
Fondamentaux NestJS
Conception d'API REST
Validation et DTO
Documentation d'API
Gestion des erreurs
Tests unitaires
Planification de tâches
Modules et DI NestJS
Configuration et environnements
Authentification JWT
Autorisation et RBAC
Base de données avec TypeORM
Prisma ORM
Middleware et Interceptors
Upload de fichiers
WebSockets
GraphQL avec NestJS
Tests end-to-end
Cache avec Redis
Files d'attente avec Bull
DevOps, Logging et CI/CD
Microservices
Bonnes pratiques de sécurité
Performance et Déploiement Cloud
Maîtrise Node.js / NestJS pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement