← 질문 목록
#254깊이 0

컨테이너는 가상 머신과 무엇이 다른가?

인프라 · 보안기초컨테이너

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

격리하는 층이 다르다. 가상 머신은 가상 하드웨어 위에 게스트 커널을 띄운다. 컨테이너는 호스트 커널이 격리한 프로세스다.

  • 컨테이너 이미지앱·런타임·라이브러리와 파일 시스템
  • 컨테이너 런타임namespace·cgroup·보안 정책을 설정한다
  • 호스트 커널시스템 호출을 처리하며 여러 컨테이너가 공유한다

namespace는 프로세스·네트워크·마운트처럼 보이는 범위를 나눈다. cgroup은 CPU와 메모리 같은 자원의 사용량을 계측하고 제한한다. 이것만으로 권한이 모두 사라지지는 않는다.

이미지에는 커널이 없어 보통 가상 머신 이미지보다 작고 시작할 프로세스도 적다. 대신 실행 파일의 CPU 아키텍처와 호스트 커널이 제공하는 시스템 호출에 맞아야 한다. 이미지만 같다고 모든 호스트에서 똑같이 실행되는 것은 아니다.

격리 강도는 포장 형식이 아니라 설정까지 봐야 한다. 과한 Linux capability, privileged 실행과 호스트 파일 시스템 마운트는 경계를 약하게 만든다. 필요 없는 권한을 빼고 seccomp·SELinux·AppArmor나 별도 샌드박스를 더한다.

가상 머신과 컨테이너는 하나만 고르는 관계가 아니다. 테넌트나 커널 경계는 가상 머신으로 나누고 그 안에서 컨테이너로 앱을 배포할 수 있다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

컨테이너는 가상 머신과 무엇이 다른가?