Docker는 최근 가장 빠르게 발전하고 있는 기술 중 하나입니다.

Docker의 공식 홈페이지에 따르면 Docker 엔진은 총 2000만 회 이상 다운로드 되었다고 합니다.

그만큼 전 세계적으로 다양한 기업에서 사용되고 있다는 것입니다.

 

Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼입니다.

이번 게시글에서는 Docker의 기본 개념과 특징, 장점에 대해서 설명해드리겠습니다.

 

 

1. Docker의 사전적의미

Docker의 사전적 의미는 항만 노동자를 뜻합니다. 항구에서 컨테이너를 나르는 것을 상상하시면 됩니다.

위 그림을 보시면 쉽게 이해할 수 있을 것 같습니다.

IT에서 말하는 Docker 와 무슨 상관일까 생각할 수 있지만, 컨테이너를 다루는 Docker의 기능과 같은 맥락에서 해석 할 수 있습니다.

Docker가 유명해진 가장 큰 이유 역시 컨테이너라는 점 때문입니다.

컨테이너에 대한 자세한 설명은 다음 게시글에서 설명하도록 하겠습니다.

 

 

2. Docker의 특징

 Docker가 왜 많은 기업에서 쓰이고 있는지, 주목받는 솔루션인지에 대해서는 특징을 보면 쉽게 이해할 수 있습니다.

 - 하이퍼바이저(Hypervisor) 없이 리눅스 컨테이너(LXC) 기술을 바탕으로 애플리케이션을 격리된 상태에서 실행하는 가상화 솔루션

 - 플랫폼에 상관없이 실행될 수 있는 애플리케이션 컨테이너를 만드는 기술

 - 리눅스 컨테이너 기술을 바탕으로 애플리케이션을 격리된 상태에서 실행하는 가상화 솔루션

 - 리눅스 컨테이너 가상화 기술을 활용하여 애플리케이션 샌드박스를 자동 생성하는 기술

 

 

3. Docker의 장점

 

 - 빠르고 가벼운 가상화 솔루션

   : 호스트의 운영체제를 공유해 필요한 최소한의 리소스만 할당받아 동작하는 방식입니다.

     단일 호스트에서 다중 워크로드를 구동할 수 있기 때문에 하이퍼바이저 기반 가상화솔루션에 비해 훨씬 더 가볍게 가상화 환경을 구성할 수 있습니다.

 - 개발자에게 자유로운 개발보장

   : 개발 언어나 툴에 상관없이 어떠한 애플리케이션이라도 만들 수 있으며, Docker에서 만들어진 애플리케이션은 이동성이 좋아지고 어디서나 실행될 수 있습니다.

 - 뛰어난 보안성

   : 서비스가 해킹도더라도 격리되어있어 원래의 서버에 영향을 미치지 않는 구조로 되어있습니다.

 

 

 

Docker의 빠른 속도, 유연성, 쉽게 사용할 수 있는 접근성 때문에 점점 사용자가 늘어나고 있습니다.

또한, 보안성이 좋아서 여러 기관들에서도 많이 이용하는 추세입니다.

 

Docker가 어떻게 많은 사람들에게 주목을 받을 수 있었는지, 어떻게 이목을 끌 수 있었는지의 가장 큰 이유는 CONTAINER 라는 개념 때문입니다.

컨테이너에 대해서는 다음에 소개해드리겠습니다.