도커(Docker). 리눅스 컨테이너 가상화 기술이자 현재 급부상하고 있는 클라우드 오픈소스.
도커의 기본, 컨테이너
도커는 기본적으로 '컨테이너'라고 부르는 애플리케이션 자동화 기술을 좀 더 '쉽게' 사용할 수 있도록 하기 위해 만들어졌다.
화물 컨테이너는 정형화된 규격에 맞춰 제품을 넣으면 운송수단에 관계없이 효율적인 운송이 가능해질 것이라는 아이디어였다. 그 결과 비행기, 기차, 화물선 등 운송수단에 관계없이 안정적인 화물 운송이 가능해졌고 운송 비용은 엄청나게 낮아졌다.
도커의 컨테이너도 플랫폼에서 운영할 애플리케이션을 얼마나 효율적으로 운영할 수 있는가에서 출발했다. 컨테이너 박스 안에 좀 더 많은 애플리케이션을 운영하자는 목적이다.
도커가 각광받는 이유
도커가 각광을 받는 이유는 개발자들이 개발에만 신경을 쓸 수 있기 때문이다. '효율적'인 개발이 가능하다는 의미다.
개발자들은 소프트웨어 개발을 위해서는 환경을 먼저 고민한다고 입을 모은다. 리눅스라면 커널 버전은 무엇인지, 운영체제 버전은 어떤 종류인지 등에 대한 환경을 먼저 고려한다.
운영체제가 다르면 자바 등 언어의 패키지 버전도 다르기 때문에 당연히 신경을 쓸 수 밖에 없다. 개발자는 코드를 작성하기 위해 시간을 써야 하는데 환경을 구성하기 위해 더 많은 시간을 할애해왔다.
그러나 컨테이너가 등장하면서 코드에만 신경을 쓸 수 있게 됐다. 도커가 각광을 받는 것은 이같은 이유에서다.
시스템 운영자들의 경우도 개발자들의 환경을 위해 패키지 구성 요소 등에 대한 부분도 세세히 신경써야 했지만 컨테이너 등장 이후에는 기본적인 운영베이스만 만들어주면 끝이다.
운영자도, 개발자도 모두가 행복(?)한 환경을 만들 수 있는 것이다.
컨테이너는 운영체제 커널에 관계없이 실행된다.
예를 들어 레드햇 5.5 버전에서 운영하다가 버전 6 또는 7에서 운영하고 싶다면 컨테이너로 바로 옮기면 된다.
단, 리눅스 컨테이너는 아직까지 윈도에서 구동할 수 없다. MS가 윈도형 컨테이너 개발에 나섰기 때문에 향후에는 기대할 수 있는 부분이긴 하다. MS 역시 윈도 개발자들이 리눅스로 떠나는 것을 원치 않고 있다.
출처 :
컨테이너 기술 '도커', 왜 뜨는 걸까?