TechBridge

Docker가 뭔데? — VM vs Container, 왜 쓰는가

← 목록으로

📋 실습 안내

✏️ CODE EDITOR (JSX)
▶ 실행 버튼을 눌러 코드를 테스트하세요.
👁️ 내 미리보기 내 코드 실행 결과
🎯 완성 미리보기 목표
위 에디터 코드를 수정해서 이 결과물과 똑같이 만들어보세요!
💡 TODO 주석을 채워서 위 결과물처럼 동작하게 만들어보세요
🤖 AI 선생님에게 질문하기 이번 강의 전용
  선생님이 답변 중이에요...
⚠️ 학습 관련 질문만 답변합니다. 관련 없는 질문은 자동으로 학습으로 유도됩니다.
Q1. VM(가상머신)과 Docker 컨테이너의 가장 큰 차이점은 무엇인가요?
💡 VM은 Guest OS 전체를 포함해 GB 단위 크기와 분 단위 부팅 시간이 필요합니다. 컨테이너는 호스트 OS의 커널을 공유하므로 MB 단위의 가볍고 빠른 실행이 가능합니다.
Q2. Docker Image와 Container의 관계를 가장 잘 설명한 것은?
💡 Image는 붕어빵 틀(템플릿), Container는 붕어빵(실행된 인스턴스)에 비유할 수 있습니다. 같은 Image에서 여러 Container를 생성할 수 있으며, Image 자체는 읽기 전용입니다.
Q3. Docker Hub는 어떤 역할을 하는 서비스인가요?
💡 Docker Hub(hub.docker.com)는 세계 최대의 공개 컨테이너 이미지 레지스트리입니다. nginx, postgres, node 등 수백만 개의 이미지를 무료로 제공하며, docker pull 명령어로 이미지를 받아올 수 있습니다.
Q4. Docker Image의 레이어(Layer) 구조에 대한 설명으로 올바른 것은?
💡 레이어 캐싱은 Docker의 핵심 최적화 중 하나입니다. 변경되지 않은 레이어는 캐시에서 재사용하므로 빌드 시간이 단축됩니다. 여러 이미지가 동일한 베이스 레이어를 공유하면 디스크 공간도 절약됩니다.
Q5. Docker Engine 구조에서 실제로 컨테이너 프로세스를 생성하는 컴포넌트는?
💡 Docker Engine의 계층 구조는 CLI → dockerd → containerd → runc 순서입니다. runc는 OCI(Open Container Initiative) 표준을 구현한 저수준 런타임으로, Linux의 namespace와 cgroups를 직접 사용하여 실제 컨테이너 프로세스를 생성합니다.
🎉

퀴즈 통과!

점수: 0점 — 수고하셨습니다!

다음 강의로 →
😅

아쉽네요!

점수: 0점 — 70점 이상이 되어야 통과합니다.