
4.11 호스트의 관점에서 본 컨테이너 프로세스
89
4.11
호스트의 관점에서 본 컨테이너 프로세스
우리가 흔히 컨테이너라고 부르는 것을 좀 더 정확히 표현하는 용어는 “컨테이너화된 프로세스
(
containerized
process
)”이다. 컨테이너는 여전히 호스트 컴퓨터에서 실행되는 하나의 리
눅스 프로세스이지만, 호스트 컴퓨터의 일부만 볼 수 있고 전체 파일 시스템의 한 부분 트리에
만 접근할 수 있다. 또한 그 밖에도 몇 가지 자원들에 대한 접근이 제어 그룹으로 제한된다. 컨
테이너는 하나의 프로세스일 뿐이므로 호스트 운영체제의 문맥 안에 존재하며, 호스트의 커널
을 다른 프로세스들과 공유한다. [그림
4
-
3
]은 이 점을 나타낸 것이다.
응용 프로그램
응용 프로그램
컨테이너
컨테이너
컨테이너
컨테이너
커널
물리적 하드웨어
그림
4-3
컨테이너들은 호스트의 커널을 공유한다.
이러한 구조가
VM
과 어떻게 다른지를 다음 장에서 보게 될 것이다. 일단 지금은 컨테이너
화된 프로세스가 호스트와, 그리고 호스트에서 실행 중인 다른 컨테이너화된 프로세스와 어떻
게 격리되어 있는지를 도커 컨테이너의 예를 통해서 좀 더 자세히 살펴보기로 하자. 우선, 우분
투(또는 여러분이 선호하는 리눅스 배포판)에 기초한 도커 컨테이너 하나를 실행하고 컨테이
너 안의 셸에서 긴
sleep
을 실행한다. ...