# Docker 및 컨테이너화 (Node.js / NestJS) > Node.js/NestJS용 Dockerfile, docker-compose (Node + DB + Redis), multi-stage builds, 이미지 최적화, .dockerignore, volumes, networks, 컨테이너 오케스트레이션 기초 - 25 면접 질문 - Mid-Level - [면접 질문: Node.js / NestJS](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions.md) ## 1. Docker란 무엇입니까? **답변** Docker는 애플리케이션과 그 의존성을 격리된 container로 패키징하는 containerization 플랫폼입니다. 하드웨어를 가상화하는 가상 머신과 달리, Docker는 호스트 OS의 kernel을 공유하므로 가볍고 빠릅니다. Docker를 사용하면 애플리케이션이 개발, staging, 프로덕션에서 동일하게 실행되는 것이 보장됩니다. ## 2. Docker container와 가상 머신의 주요 차이점은 무엇입니까? **답변** Docker container는 호스트 OS의 kernel을 공유하고 사용자 공간만 가상화하므로 매우 가볍고(수 MB) 몇 초 만에 시작됩니다. VM은 전체 하드웨어를 가상화하고 전체 OS(수 GB)를 포함하므로 시작에 몇 분이 걸립니다. 따라서 container는 microservices와 CI/CD에 더 효율적입니다. ## 3. Dockerfile의 역할은 무엇입니까? **답변** Dockerfile은 Docker image를 빌드하기 위한 명령을 담은 텍스트 파일입니다. 각 명령(FROM, COPY, RUN, CMD)은 image에 layer를 생성합니다. 실행 환경, 의존성, 시작 명령을 정의합니다. 잘 최적화된 Dockerfile은 layer caching과 multi-stage builds를 사용해 최종 image 크기를 줄입니다. ## 22개 추가 질문 이용 가능 - 베이스 image를 정의하는 Dockerfile 명령은 무엇입니까? - Dockerfile에서 CMD와 ENTRYPOINT의 차이점은 무엇입니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 Node.js / NestJS 면접 주제 - [Node.js 기초](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/nodejs-fundamentals.md): 20개 질문, Junior - [Node.js 코어 API](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/nodejs-core-apis.md): 25개 질문, Junior - [비동기 프로그래밍](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/asynchronous-programming.md): 25개 질문, Junior - [Express.js 기초](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/express-basics.md): 20개 질문, Junior - [NestJS 기초](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/nestjs-fundamentals.md): 23개 질문, Junior - [REST API 설계](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/rest-api-design.md): 20개 질문, Junior - [검증과 DTO](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/validation-dto.md): 20개 질문, Junior - [API 문서화 및 계약](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/api-documentation.md): 20개 질문, Junior - [에러 처리](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/error-handling.md): 20개 질문, Junior - [단위 테스트](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/testing-unit.md): 20개 질문, Junior - [작업 스케줄링](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/scheduling-cron.md): 15개 질문, Junior - [NestJS 모듈과 DI](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/nestjs-modules-di.md): 20개 질문, Mid-Level - [구성 및 환경 관리](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/configuration-environment.md): 20개 질문, Mid-Level - [JWT 인증](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/authentication-jwt.md): 25개 질문, Mid-Level - [인가 및 RBAC](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/authorization-rbac.md): 20개 질문, Mid-Level - [TypeORM을 사용한 데이터베이스](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/database-typeorm.md): 30개 질문, Mid-Level - [Prisma ORM](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/prisma-orm.md): 25개 질문, Mid-Level - [미들웨어와 인터셉터](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/middleware-interceptors.md): 20개 질문, Mid-Level - [파일 업로드](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/file-upload.md): 15개 질문, Mid-Level - [WebSockets](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/websockets.md): 20개 질문, Mid-Level - [NestJS를 사용한 GraphQL](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/graphql-basics.md): 25개 질문, Mid-Level - [엔드투엔드 테스트](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/testing-e2e.md): 20개 질문, Mid-Level - [Redis를 사용한 캐싱](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/caching-redis.md): 20개 질문, Mid-Level - [Bull을 사용한 큐](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/queues-bull.md): 20개 질문, Mid-Level - [DevOps, Logging, CI/CD](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/logging-monitoring.md): 25개 질문, Mid-Level - [마이크로서비스](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/microservices.md): 30개 질문, Senior - [보안 모범 사례](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/security-best-practices.md): 25개 질문, Senior - [성능 및 클라우드 배포](https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/performance-optimization.md): 30개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/node-nestjs/interview-questions/docker-containerization