인프런 커뮤니티 질문&답변

yy님의 프로필 이미지
yy

작성한 질문수

개발자를 위한 쉬운 도커

컨테이너에도 OS가 포함되는지 궁금합니다.

해결된 질문

작성

·

303

2

안녕하세요, 좋은 강의 잘 듣고 있습니다.

PART2의 강의자료인 "이미지와_컨테이너 PDF"의 4, 5페이지의 그림을 보면 컨테이너 역시 OS를 포함하는 것으로 표현되어 있습니다. 강사분께서 nginx를 예를 들어주실 때에도 nginx 이미지를 만들때 OS가 포함된다고 설명해 주시 기억이 납니다.

다만 보통 블로그나 유튜브 등에서는 VM과 컨테이너 방식을 비교할 때 "컨테이너에는 OS가 포함되지 않는다, 그래서 빠르다"고 표현하는 것을 종종 보아왔기에 이 부분이 헷갈립니다.

5페이지의 그림을 잘 보면 컨테이너들은 각각 OS를 포함하고 있고, 커널은 HOST OS의 것을 공유하는 것으로 이해됩니다. 이말은 컨테이너에 포함된 OS는 커널을 포함하고 있지 않는 것인가요? 즉, "각 컨테이너들은 커널을 포함하고 있지 않고 (단, OS는 포함하고 있음) 호스트의 커널을 공유하기때문에 커널이 포함되어 있는 전체 OS를 모두 가지고 실행되는 VM대비 가볍다" 라고 이해해도 무방할까요?

제가 시스템, OS 쪽 지식이 너무 얕습니다. 초보적인 질문이라도 양해부탁드립니다.

 

답변 1

3

데브위키님의 프로필 이미지
데브위키
지식공유자

yy님 안녕하세요, 데브위키입니다.

질문해주신 부분이 충분히 헷갈릴 수 있는 부분이시고, 저도 컨테이너를 학습하면서 어려웠던 부분 중 하나입니다!

 

먼저 OS는 커널(Kernel)사용자 공간(User Space)으로 나눌 수 있습니다.

커널은 강의에서도 말씀 드린 것처럼 운영체제의 핵심 부분이고, 사용자 공간은 쉽게 말해 파일시스템, OS를 구성하는 파일 이라고 보시면 됩니다. 윈도우 C드라이브에 구성된 파일과 같은 개념인 것이죠.

 

그래서 정확하게 표한하자면,

컨테이너에는 OS가 포함되지 않는다, 그래서 빠르다 => 컨테이너에는 OS의 커널 영역이 포함되지 않는다, 그래서 빠르다

이미지를 만들 때 OS가 포함된다. => 이미지에는 OS의 User Space(OS를 구성하는 파일들)이 포함된다.

로 이해하시는 것이 정확한 표현입니다.

 

강의자료나 설명에서는 OS라고 기재를 해 두었지만, 정확하게 말씀드리자면 OS의 User Space 부분만을 포함는 것이 맞습니다.

 

이 부분은 도커의 심화 부분에서 말씀드리려고 한 내용이었는데, 도커에 대해 잘 학습하고 탐구하고 계신 것 같습니다. 좋은 질문 해주셔서 감사합니다😊

강의 들으시면서 궁금하신 점이 생기면 편하게 질문 주세요.

완강까지 응원하겠습니다!

 

yy님의 프로필 이미지
yy

작성한 질문수

질문하기