티스토리 뷰

Docker

Docker 란?

Cand0 2018. 7. 3. 10:19

Docker란?

  운영체제를 가상화 하기 위해 사용하는 도구이다.

  컨테이너 기반으로 작동되며, VMware와 비교하였을때 Guest OS를 뺀것이라고 생각하면 될 것 같다.

 

 

GuestOS란?

  그렇다면 GuestOS가 뭐길래 VMware보다 속도가 훨씬 빠르고 이미지파일의 용량도 작아지게 할 수 있었을까?

 

  VMware로 예를 들자면, 내 PC는 Window가 설치되어 있는데 Ubuntu 리눅스가 필요하다고 가정 한다면???

  Window를 싹 밀고 새로 Ubuntu를 깔기에는 너무 많은 부담과 리소스 낭비가 있다. 그로 인해 생긴게 VMware였고, 여기서 Window가 Host OS 가 되는 것이고 Ubuntu가 Guest OS 가 되는 것이다.

 

  여기서 한가지 의문이 든다. Docker는 어떻게 Guest OS가 없이 다른 운영체제를 쓸 수 있다는 말인가????

 

  그 해답은 여기에 있다.

 

 

 

  위 사진에서도 봤듯이 VMware와 다른 점은 GuestOS가 없고, DockerEngine이라는 것이 있다.

 

 

 

  간단히 설명하자면,

  VMware에서의 이미지는 커널 전체를 구성하며, 하드웨어의 모든 부분을 구성해야한다.

  하지만 Docker의 경우에는 커널을 HostOS와 공유한다는 것!

  이는 이미지가 따로 커널을 구성할 필요도 없을 뿐더러 로컬에 공유해야 할 부분이 없다면 따로 구성하면 되기 떄문에 굳이 따로 하드웨어나 커널의 제어를 할 필요가 없다는 것이다.

 

  정리하자면, VMware에서는 커널및 하드웨어를 제어해야하며 이는 그만큼 많은 양의 I/O이 나올 수 밖에 없으며 Docker에 비해서는 현저히 느리며 많은 용량을 차지하게 되는 것이다. 하지만 이는 Docker에 비해서 강력한 장점이 있는데 VM의 경우에는 커널자체를 분리하다 보니 완벽하게 HostOS와 GuestOS를 격리 할 수 있다는 것이다.

  Docker의 경우에는 커널및 하드웨어를 HostOS와 공유하며, 아는 VM에 비해 현저히 적은 양의 I/O가 나올 것이며 이는 속도측면에서는 빠르고, 용량측면에서는 적은 모습으로 보일 것이다.

 

  즉, 여기서 말하는 GuestOS란 커널 및 하드웨어 기반의 온전한 OS 전체를 의미하는 것이다. <==Docker : 다른부분은 공유해서 쓰면 되니까 HostOS하고 공유하고, 필요할때만 패키지 해서 쓰자~!!!

 

 

 

 

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함