
Docker e containerizzazione
Dockerfile per Node.js/NestJS, docker-compose (Node + DB + Redis), multi-stage build, ottimizzazione delle immagini, .dockerignore, volumes, networks, fondamenti di orchestrazione dei container
1Cos'è Docker?
Cos'è Docker?
Risposta
Docker è una piattaforma di containerizzazione che impacchetta un'applicazione e le sue dipendenze in un container isolato. A differenza delle macchine virtuali che virtualizzano l'hardware, Docker condivide il kernel dell'OS host, rendendolo leggero e veloce. Usare Docker garantisce che l'applicazione funzioni in modo identico in sviluppo, staging e produzione.
2Qual è la differenza principale tra un container Docker e una macchina virtuale?
Qual è la differenza principale tra un container Docker e una macchina virtuale?
Risposta
Un container Docker condivide il kernel dell'OS host e virtualizza solo lo spazio utente, rendendolo molto leggero (pochi MB) e avviandosi in secondi. Una VM virtualizza l'hardware completo e include un OS intero (diversi GB), avviandosi in minuti. I container sono quindi più efficienti per microservizi e CI/CD.
3Qual è il ruolo del Dockerfile?
Qual è il ruolo del Dockerfile?
Risposta
Il Dockerfile è un file di testo contenente le istruzioni per costruire un'image Docker. Ogni istruzione (FROM, COPY, RUN, CMD) crea un layer nell'image. Definisce l'ambiente di runtime, le dipendenze e il comando di avvio. Un Dockerfile ben ottimizzato usa il layer caching e i multi-stage build per ridurre la dimensione dell'image finale.
Quale istruzione del Dockerfile definisce l'image base?
Qual è la differenza tra CMD ed ENTRYPOINT in un Dockerfile?
+22 domande da colloquio
Altri argomenti di colloquio Node.js / NestJS
Fondamenti di Node.js
API Core di Node.js
Programmazione asincrona
Fondamenti di Express.js
Fondamenti di NestJS
Progettazione di API REST
Validazione e DTO
Documentazione API e contratti
Gestione degli errori
Test unitari
Pianificazione delle attività
Moduli e DI di NestJS
Configurazione e gestione degli ambienti
Autenticazione JWT
Autorizzazione e RBAC
Database con TypeORM
Prisma ORM
Middleware e Interceptor
Caricamento file
WebSockets
GraphQL con NestJS
Test end-to-end
Caching con Redis
Code con Bull
DevOps, Logging e CI/CD
Microservices
Migliori pratiche di sicurezza
Performance e deployment cloud
Padroneggia Node.js / NestJS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis