인프라 & 클라우드 · 기초
컨테이너와 가상머신(VM)의 차이를 격리 방식과 리소스 사용 측면에서 설명해주세요.
힌트 · 하이퍼바이저 기반 게스트 OS와 호스트 커널 공유 방식의 차이, 그리고 부팅 속도/오버헤드 관점에서 접근하세요.
커널 공유OS 가상화하이퍼바이저독립 OS하드웨어 가상화
모범답안
컨테이너와 가상머신(VM)의 가장 큰 차이는 격리 방식과 리소스 사용에 있습니다.
VM은 하이퍼바이저를 통해 하드웨어를 가상화하고, 각 VM마다 독립적인 게스트 운영체제(OS)를 실행합니다. 이 때문에 격리 수준은 매우 높지만, OS 전체를 실행해야 하므로 부팅 시간이 길고 리소스 사용량도 많습니다.
반면 컨테이너는 호스트 OS의 커널을 공유하는 OS 가상화 방식입니다. 각 컨테이너는 애플리케이션과 필요한 라이브러리만 포함하며, OS 자체를 포함하지 않습니다. 따라서 VM보다 훨씬 가볍고 빠르게 시작되며, 리소스 사용량도 적습니다. 격리 수준은 VM보다 낮지만, 대부분의 애플리케이션 배포 시나리오에서는 충분합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 DevOps / CI·CD 면접 질문
- CI(지속적 통합)와 CD(지속적 배포/전달)는 각각 무엇을 의미하며, Continuous Delivery와 Continuous Deployment는 어떻게 다른가요?
- 도커 이미지가 레이어(layer)로 구성된다는 것은 무슨 의미이며, 레이어 구조가 어떤 이점을 주나요?
- Dockerfile로 이미지를 빌드할 때 레이어 캐시(build cache)는 어떻게 동작하며, 캐시를 잘 활용하려면 명령어 순서를 어떻게 배치하는 것이 좋은가요?
- Docker와 가상머신(VM)의 차이점에 대해 설명해주세요.
- Dockerfile의 주요 명령어에 대해 설명해주세요.
- Docker Compose의 용도와 사용 방법에 대해 설명해주세요.