84
자바 개발자를 위한 데브옵스 툴
이다. 앞으로 다룰 주제들에 대한 깊이 있는 기술 매뉴얼을 만들기 위해서가 아니다. 시간의 흐
름에 따른 진행 상황과 오늘날의 상태에 도달하는 과정을 여러분의 의식 속에 자리 잡게 해줄
자료일 뿐이다.
시작해보자.
3.1.1 3.1.1
컨테이너의 역사컨테이너의 역사
현재의 기준으로 보면
1960
년대와
1970
년대의 컴퓨팅 자원은 일반적으로 매우 비싸고 접하
기도 어려웠다. 또한 프로세스를 완료하기까지 오랜 시간이 걸렸으며 한 컴퓨터가 한 명의 단
일 작업을 전담하는 것이 보통이었다. 이러한 한계가 낳은 병목과 비효율성을 해소하고 컴퓨팅
자원 공유 효율을 높이려는 노력이 이어졌다. 그러나 자원을 공유하는 것만으로는 충분치 않았
다. 여러 사용자가 서로 간섭을 일으키지 않으면서 한 명의 사용자로 인해 전체 시스템이 중단
될 우려도 없이 자원을 공유할 수 있는 방안이 필요했다. 하드웨어와 소프트웨어 양쪽 모두에
바야흐로 가상화 기술이 고개를 내밀기 시작한다. 우리가 출발점으로 삼을
chroot
는 바로 이
때 개발된 소프트웨어 중 하나다.
1979
년에 유닉스
7
버전 에디션과 함께 개발된
chroot
는
1982
년 정식으로
BSD
Berkeley
Software
Distribution
에 편입됐다.
chroot
는 특정 프로세스와 자식 프로세스의 가시적 루트 디렉터
리를 변경하고 파일 시스템 열람 범위를 제한하는 시스템 명령이다. 다른 배포판을 테스트하는
상황처럼 특수한 환경을 구성할 때 편리하게 사용할 수 있다.