docker

docker

도커란 무엇인가 ?

  • 분산서버에대한 관리와 환경설정의 부담으로 2013년에 나타난 새로운기술
  • 하드웨어 스펙이 좋아짐에따라 분산서버를 구성할 필요성을 덜 느끼게되어 하나의 물리서버에서 분산된 서버구축할수있는 효과를 가져다줌
  • 도커는 서비스 운영환경에 필요한 (node, jdk, mysql 등등) 과 같은 서버환경에 필요한 운영설정등을 패키징된 것이 이미지
  • 이미지파일을 실행한 상태를 컨테이너
  • 서버의 운영과 배포에 특화된 기술

가상머신가 무엇이다른가 ?

  • 가상머신과 달리 게스트 OS를 설치할 필요가없음
  • 가상머신은 호스트 OS 안에 게스트 OS로 구동되는 또하나의 OS 지만, 도커는 설정 정보만 기술하여 이미지생성, 컨테이너 생성후 모든 실행프로세스는 게스트 OS에서 직접 실행됨 (가상이 아닌 격리)
  • 가상머신의 역활을 할뿐만아니라, 컨테이너 간의 환경정보 공유

docker의 장점

  • 하나의 물리서버에서 분산서버를 구축한 효과를 가져다줌
  • 게스트 OS 설치가 없으므로 시간과 불필요한 시스템 자원을 낭비 X
  • 무엇보다도 서버설치에 들어가는 환경구성,설치, 설정 과 같은 작업들을 쉽게 구성할수있을뿐아니라, 설정을통해 만들어진 이미지파일을 손쉽게 재사용이 가능

견해

프로젝트를 진행하다, docker와 유사한 XenServer 라는 기술을 얼핏 접하게되었는데,
docker와 상당히 유사한점이 많았다.
docker와 비교하자면, 리눅스기반 XenServer가 실제 물리서버가 되는것이고 (docker 의 host os) 그 하위의 가상의 os를 설치하는식이었다.
이런 VM(virtual machine) 들은 docker와 가장큰 차이를 보이는것은, 생산성이라고 생각된다
docker 같은경우는 docker hub와 같은 커뮤니티를 통해 os와 함께 필요한 구성이 패키징된 이미지를 아주쉽게 pull 할수있는반면, XenServer 와같은 VM 들은 가상의 OS를 이미지파일로 새로 설치한다는 점이다. (물론 환경구성도 직접 해야한다)
XenServer 를 세부적으로 다뤄보진않았지만 음 .. docker 를 사용하다 XenServer란것도 있구나 … 이정도 ?