Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Docker

도커(Docker)는 비교적 최근(2013)년에 등장한 컨테이너 기반의 가상화 도구다.

흔히 가상 머신 기술과 비교 하는데, 장/단점을 기준으로 이들의 차이점을 살펴보자.
  1. 가상머신은 격리된 환경을 구축한다. 하드웨어를 추상화 하기 때문에, 다양한 운영체제들을 손쉽게 올릴 수 있다. 반면 하드웨어 추상에 드는 비용과 완전한 운영체제가 올라가기 때문에 비용이 많이 든다는 단점이 있다.
  2. 도커는 경량화한 가상화 방식이다. OS 자원을 호스트와 공유하며, 사실상 프로세스처럼 작동한다. 하드웨어를 추상화 하지 않기 때문에, 성능면에서 큰 이득을 얻을 수 있다.
  3. 운영체제 입장에서 도커는 프로세스다. 실행속도도 매우 빠르다.
  4. 도커는 리눅스의 컨테이너 기술인 lxc(LinuX Containers)을 기반으로 하고 있다. 따라서 리눅스에서만 사용할 수 있다. 맥의 경우 경량화한 리눅스 운영체제를 (virtualbox 기반)VM 형식으로 띄운 다음, docker를 올리는 방식으로 지원할 것이라고 언급하고 있다. 하지만 아무리 경량이라고 해도 리눅스 도커의 성능과 효율을 기대하기는 무리일 것 같다. 가상화 인프라 개발에서 이런 짓을 하는 건 의미 없고, 개발 환경을 꾸미는데는 많은 잇점이 있다.
  5. 리눅스 운영체제의 자원을 공유하기 때문에, 다른 운영체제를 실행 할 수는 없다. KVM 기반으로 구성할 경우 리눅스든 윈도우즈든 자유롭게 실행 할 수 있는데 반해, 도커 기반으로 할 경우 도커 운영체제만을 운영할 수 있다. 사실상 리눅스 운영체제만 사용할 수 있다는 것. 클라우드 인프라를 만들려고 하면, 윈도우와 리눅스 인프라를 따로 구축해야 하기 때문에 애매모호 하다.(운영이 지저분해 질 수 있지만, 이걸 감안해도 도커를 사용해서 얻는 이득으로 단점을 커버할 수 있다.)

기본 문서

활용 문서

하위 문서

제목 저자 변경일