Node.js / NestJS

Docker 및 컨테이너화

Node.js/NestJS용 Dockerfile, docker-compose (Node + DB + Redis), multi-stage builds, 이미지 최적화, .dockerignore, volumes, networks, 컨테이너 오케스트레이션 기초

25 면접 질문·
Mid-Level
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 크기를 줄입니다.

4

베이스 image를 정의하는 Dockerfile 명령은 무엇입니까?

5

Dockerfile에서 CMD와 ENTRYPOINT의 차이점은 무엇입니까?

+22 면접 질문

다음 면접을 위해 Node.js / NestJS을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기