Infra

[짧] Docker란?

Greensky0026 2023. 3. 26. 19:58
반응형

리눅스 컨테이너 기반의 오픈소스 가상화 플랫폼으로, GO언어로 작성되었다.
서비스들을 하나의 서버에 집약해 구동하여 리소스 활용도를 높아며 안정성도 챙길 수 있는 방법이 서버 가상화이다.

  • VM
    • VM 가상화된 하드웨어 위에 OS가 올라가는 형태로, 거의 완벽하게 Host OS와 분리된다.
    • Host OS와 분리되는 장점이 있지만, OS위에 OS가 구동되므로 무겁고 느리다.
  • 컨테이너 기반 가상화
    • 컨테이너 기반 가상화는 Application 실행에 필요한 바이너리만 올린다.
    • Host와 커널을 공유하므로, io처리가 쉬워져 성능효율이 높아진다.
    • 컨테이너 사용 목적은 가상머신을 생성하는게 아닌, host os의 자원을 분리해 환경을 구축하는 것이다.

  • 도커를 구축함으로써 얻는 장점
    • docker image를 pull해서 실행만 하면 되므로, git source pull, jar build 등의 작업을 꼭 서버에서 하지 않아도 된다.
    • 이후 scale-out을 통해 다중서버 구축시에도 배포가 간단하다.

 

 

반응형