도커 1장 | Ubuntu 16.04 LTS에 Docker 최신 버전 설치 하기

2018. 5. 31. 00:30OS & Server/Docker

728x90
 Thumbnail





 YouTube





 Facebook






.





 Hyper Visor?


[Image 1-1]


HyperVisor란 Host PC에서 다수의 플랫폼을 구동하기 위한 논리적 플랫폼을 뜻합니다.

쉽게 표현하자면 내 PC에서 다양한 운영체제를 실행할 수 있게 해주는 녀석이죠.


Hyper Visor는 Type1과 2로만 알려져있지만 찾아보면

Type 0 도 존재하답니다.








[Image 1-2]




Type 1에는 Hardware 위에 Hyper Visor 가 존재하며 그 위에 운영체제가 설치되는 모습입니다.


즉 Host PC가 존재하지 않고 Hyper Visor 역할을 하는 플랫폼을 올려

그 위에 다중으로 OS를 설치하는 격이죠.


Type 2에는 1에서 Host 가 추가된 것을 볼 수 있습니다.


일반적인 우리가 흔히볼 수 있는 가상화라고 볼 수 있죠.









[Image 1-3]


Type 1의 대표적인 프로그램


  • Vmware ESXI
  • Oracle VM Server
  • Xen Server
  • Sun xVM Server
  • Parallels Server
  • Virtual IRON
  • Hyper - V


제일 유명한건 아무래도 Xen Server와 Hyper-V가 되겠네요.


VMware는 아무래도 Workstation이 가장 유명한 것 같습니다.








[Image 1-4]


Type 2의 대표적인 프로그램

  • VMware Workstation
  • Virtual Box
  • VMware Player
  • Nox
  • Memu
  • Momo
  • Parallels Workstation


마찬가지로 유명한것은 VMware와 우리가 모바일게임 및 안드로이드 개발시 열심히 사용하고 있는

앱플레이어 들이 되겠죠?








[Image 1-5]


Type 1은 Host OS가 존재하지 않고 Hyper Visor가 Host의 역할을 합니다.

때문에 속도는 Host 위에서 동작하는 Hyper Visor보다는 

자원이 훨씬 많이 남기 때문에 처리속도가 빠르며,


단점으로는 OS에 제약이 존재하고,

가상머신에 올라온 각각의 Guest OS들은 스스로를 Virtual OS라는 것을 인지하고 있습니다.









[Image 1-6]


Type 2는 Host 상에 올라온 Hyper visor 상태이기에

이미 Host에 많은 자원(resources)들이 사용되고 있습니다. 때문에 속도는 현저히 느리고


장점으로는 OS에 대한 제약이없습니다.

각각의 Guest OS들은 자기자신을 Host OS로 생각하게 됩니다.



.

.







 Docker


[Image 2-1]


2013년 3월 Pycon Conference에서 "Solomon Hykes"라는 작자가 처음으로 공개하였습니다.

2013년 10월 그는 Dot Cloud에서 Docker로 회사명을 변경하였습니다.


관련 영상 보러가기 : https://youtu.be/wW9CAH9nSLs



[Image 2-2]


Docker가 일반적인 Hyper Visor를 사용하는 VM들과의 가장 큰 차이점은

Guest OS가 존재하지 않고 Container 라는 개념을 사용했다는 점 입니다.








[Image 2-3]


일반적인 Type 2의 가상머신을 사용하는 경우

VMware(Hyper Visor)가 격리된 공간의 Guest OS를 생성하고 그 OS안에서

응용프로그램들이 동작을 하게 됩니다.









[Image 2-4]





Docker는 VMware와 같은 계층에서 그 역할을 대신하고

Container라는 개념으로 격리된 공간을 생성합니다.

이 컨테이너는 응용프로그램 동작에 필요한 바이너리(실행)파일과 그 실행파일이 동작하기 위해

필요한 Library만을 중점으로 컨테이너를 생성합니다.


그 외 자원들은 모두 Host OS의 커널을 공유합니다.


Type 2의 Hyper Visor개념을 사용하는 VM들은 각각의 Guest OS별로 Kernel 부터...일일이 

다 가상으로 생성을 하기 때문에 쓰잘데기 없는 자원(resources)를 너무 많이 사용합니다.


사실 이 컨테이너의 개념은 혁명(?) 이라고 느껴질 정도는 아니었지만


도커가 컨테이너라고 표현한 계기는 github를 많이 사용해보신분들이라면

pull과 push 등 repository에서의 다운로드 등등


이러한 과정을 기반으로 이미지를 쉽고 편리하게 빠르게

운반이 가능하다고 해서 컨테이너라고 표현하였다고 하네요.


사실 그 기능이 도커의 최대 강점입니다.



.









 Docker Install


[Image 3-1]



제가 처음 알게 되었을 당시에는 Windows를 지원하지 않았습니다.

하지만 2017년도였나... 그쯤부터 Windows에서도 Docker를 설치할 수 있게 되었지요!


그 이후 2017년 말 경 Windows를 Docker Container로 사용할 수 있게끔 한다 하였는데

지금은 어떻게 되었는진 모르겠네요..


Docker 를 설치하기 위해서는 Linux 또는 VMware에 설치한 Linux를 사용하여

앞으로 진행될 강의에서 매우 편리할 것입니다.


저는 Ubuntu 16.04 LTS에서 진행 하였습니다.









[Image 3-2]


사실 이 과정은 굳이...









[Image 3-3]




우분투 저장소 16버전의 Docker 저장소를 추가합니다.


우분투 기본 저장소에서 Docker를 설치하게 될 경우 상당히 낮은버전이 설치되는걸 볼 수 있습니다.


커맨드는 최 하단에 작성하였습니다.










[Image 3-3]


해당 저장소에서 다운로드를 진행하려면 GPG KEY를 통해 인증과정이 필요합니다.

추가해주도록 합시다.









[Image 3-4]


이제 해당 저장소를 업데이트 합니다.










[Image 3-6]


드디어 도커를 설치합니다!








[Image 3-7]


docker의 버전을 확인해보면

17.05인걸 볼 수 있네요.











docker의 상태 체크


영상과 하루 내지 금일에 작성되어야 할 글인데

근래 바쁜 일정 탓에 상당히 늦게 게시되었네요.


앞으로는 한동안 꾸준히 도커 시리즈를 연재할 예정입니다.





.



728x90