728x90
반응형
SMALL

도커(Docker)는 리눅스 컨테이너 기술을 자동화해 쉽게 사용할 수 있도록 도와주는 오픈소스 프로젝트이다.
즉 컨네이너 안에 어플리케이션을 배치하는 것을 자동화해주는 역할을 한다.
플랫폼서비스(PasS, Platform as a Service) 사업을 하고있던 '닷클라우드' 라는 회사는 PaaS 서비스
를 제공하면서 인프라기술력을 높일 수 있는 방법으로 리눅스 컨테이너 기술을 적극 활용했고
지금은 PasS 사업은 다른 회사에 매각하고 회사명도 '도커' 라 바꾼 후 도커(Docker) 서비스에 집중하고
있다.

<출처 : 네이버지식백과 >

하이퍼바이저는 하나의 Host OS 에서 여러 개의 운영체제(OS) 즉 Guest OS 를 할당해서 사용할 수
있게 도와주는 기술이다. 가상화 환경은 가장 밑단에 깔린 Host OS를 공유한다.
만약 Guest OS가 네트워크를 많이 사용하는 애플리케이션을 돌리면 어떻게 될까. 한정된 Host OS
자원으로는 애플리케이션을 감당하기 어렵게 된다. 하이퍼바이저도 Host OS와 Guest OS, 애플리케이션을
중재하는 과정에서 많은 부하가 걸리게 된다.

도커(Docker)는 하이퍼바이저와 달리 Guest OS를 두지 않고 Host OS 커널을 바로 사용한다.
하이퍼바이저 대신 도커(Docker) 엔진이 올라가, Host OS와 여러 애플리케이션을 연결해주는 역할을 한다.
따라서 도커(Docker)를 사용하면 애플리케이션을 좀더 빠르고 효율적으로 실행시킬 수 있다. 

      [네이버 지식백과] 도커 - 오픈소스 진영의 샛별 (용어로 보는 IT, 이지현)

위 도커(Docker)의 로그를 보면 고래위에 컨테이너가 실려있죠.. 이 컨테이너가 어떤 하나의 완전한
프로그램을 실행하는데 필요한 소스와 런타임 뿐만아니라 시스템도구도 등 완전한 세트가
들어가 있는 거죠.  

도커(Docker)가 뜨는 이유
1. 개발자들은 개발할 때 이전에는 이 프로그램이 돌아가는 환경.OS 등이 먼지를 알고 
   그에 맞게 언어를 선택해서 개발을 했지만 도커(Docker) 가 등장한 이후에는 그런 거 
   신경 안쓰고 개발에만 집중할수 있게 되었다.. 어차피 컨테이너에 실려서 실행되는
   독립적인 구조이기 때문..
2. 기존 가상화 기술에 비해서 도커(Docker) 는 더 가볍고 이식성이 뛰어남.

도커(Docker)의 구성요소

구분 내용
LXC (Linux Container) LXC 로 만든 컨테이너는 고유의 파일시스템,프로세스,네트워크
공간을 가짐.
가상머신처럼 독립적인 공간
이미지 필요한 프로그램과 라이브러리 , 소스를 설치한 뒤 파일로 만든 것
컨테이너 이미지를 실행한 상태


도커(Docker)의 특징

구분 내용
Host OS 공유방식 여러 개의 어플리케이션이 Host OS 공유
빠르고 가벼운 가상화기술 최소한의 리소스만 할당받아 동작하는 방식
가상화 기술은 하나의 노트북에 다른 노트북을 하나 더 올려서 사용하는 방식으로 아무래도 무거울  수밖에 없음.
반면 도커(Docker)는 어플리케이션을 실행하기 위한 파일만 돌리기 때문에 훨씩 효율적이고 필요한 만큼만 CPU나 메모리를 사용하기 때문에 부하가 적음.
이식성 다양한 환경에서 실행
자유로운 개발환경 개발언어, 툴에 상관없이 어떠한 어플리케이션을 만들어도
상관없음.
개발과 운영 호환성 증가 플랫폼에 상관없이 애플리케이션을 신속하게 제공

 

728x90
반응형
LIST

+ Recent posts