회사에서 docker 가이드를 만들어야 합니다. 사실, Docker가 아직까지 정확히 모르겠습니다.

개발자는 아니지만, 개발을 해봐야 하는 것일까?? 

이미지를 빌드를 해보고 맛 좀 봐야 좀 이해하는데 도움이 될까 싶습니다. 하지만 이건 쉽지 않을 것 같습니다.

명령어는 매번 까먹고 매번 찾아봐야 합니다.

그래서 전반적인 중요 용어들을 공부를 해보면서 정리 해볼려고 합니다.

 

1. Docker 란?

도커가 무엇인지에 대해서부터 알아봐야겠습니다.  

도커는 2013년 3월에 산탘클라라에서 열린 Pycon Conferecne에서 Solomon Hykes가 사전 예고도 없이 5분만에 도커를 알리면서 세상에 알려지게 되었다고 합니다.

 

발표 이후 도커는 엄청난 인기를 얻게 되면서 회사 이름도 도커(Docker Inc)로 바꾸면서 2014년 6월 도커1.0을 런칭하면서 정식 서비스를 시작했다고 합니다.

 

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

 

컨테이너에 대해서 알아 보겠습니다.

컨테이너는 옷, 신발, 과일, 제품, 화물등을 넣을 수 있는 큰 상자 입니다. 서버에서도 마찬가지로 다양한 프로그램, 실행환경을 컨테이너로 추상화 시키고 똑같은 인터페이스를 제공해서 프로그램의 배포 및 관리를 간단하게 해줍니다.
이런 컨테이너는 격리된 공간에서 프로세스가 동작하게 합니다. 이런 기술은 가상화입니다. 참고로 도커는 반가상화를 사용합니다.

 

 

위에 사진은 도커를 조금 공부를 해봐야겠다. 하시는 분들은 많이 보셨을 겁니다.

전가상화 반가상화의 차이점을 잘 보여준 이미지입니다. 왼쪽은 vmware, vitualbox 등과 같은 전가상화, 오른쪽은 도커의 반가상화입니다. 전가상화를 보면 Hypervisor위에 GuestOS를 올린 후, 서비스에 필요한 Bins/Libs를 올릴 수 있지만, 반가상화는 Docker Engine만 올리면 바로 서비스를 시작 할 수 가 있습니다. 그만큼 가볍고 빠르다는것을 의미 합니다.

Docker에서 중요 개념 포인트를 한가지 집고 넘어가면, 컨테이너 기반의 반가상화 그리고 이미지 입니다.

반가상화는 앞서 설명을 했고, 이미지는 컨테이너를 실행 하는데 있어서 필요한 설정값 등을 갖고 있는 것입니다.

그러니, 이미지를 다운 받아 놓으면 여러개의 컨테이너에다가 똑같은 이미지를 계속해서 넣어서 쓸 수 있습니다.

CentOS를 여러개 사용 하기 위해서 Vmware는 하나하나 CentOS를 올려서 사용해야 하므로 자원을 많이 소비하고, 시간이 오래 걸리는 반면에 Docker는 CentOS이미지 한번만 다운을 받아 놓으면 몇십개의 CentOS이미지를 올린 컨테이너를 계속 만들 수 있어 자원 소비와 시간이 절약이 됩니다.

 

위에 글을 보니 너무 주절주절 적어 놓았네요. 정리를 해보겠습니다.

 

2. Docker 특징

 

1) 컨테이너 기반의 오픈소스 가상화 플랫폼

2) 실행환경을 구축할때, 이미지를 다운받아 컨테이너로 추상화

3) 동일한 이미지를 제공하여 프로그램 배포 및 관리의 편리성

 

다음 포스팅에서 이어서 Docker의 용어에 대해서 알아보겠습니다.

 

 

+ Recent posts