본문 바로가기
TIL

도커

by 스니펫 2023. 12. 13.

도커

컨테이너 기반의 오픈소스 가상화 플랫폼. 리눅스 컨테이너에 리눅스 어플리케이션을 프로세스 격리기술을 사용하여 더 쉽게 컨테이너로 실행하고 관리할 수 있게 해주는 오픈소스 프로젝트 이다.

더보기

컨테이너 : 소프트웨어와 그 dependency를 하나로 패키징하는 것으로, 패키징한 소프트웨어는 어느 환경에서도 동일하게 실행할 수 있다.

가상머신 vs 도커

가상머신

  • 가상머신은 Hypervisor 를 통해 여러개의 운영체제를 생성하고 관리한다. (Guest OS)
  • 시스템 자원을 가상화하고 독립된 공간을 생성하는 작업은 Hypervisor 를 거치므로 성능 손실이 큼
  • 가상머신은 Guest OS 를 사용하기 위한 라이브러리, 커널 등을 포함하므로 배포할 때 용량이 큼

도커 컨테이너

  • 가상화된 공간을 생성할 때 리눅스 자체 기능을 사용하여 프로세스 단위의 격리 환경을 만드므로 성능 손실이 없음
  • 가상머신과 달리 커널을 공유해서 사용하므로, 컨테이너에는 라이브러리 및 실행파일만 있으므로 용량이 작음
  • 따라서 컨테이너를 이미지로 만들었을 때 배포하는 시간이 가상 머신에 비해 빠르며, 사용할 때의 성능 손실 또한 거의 없음

도커의 특징

  • 독립성과 표준화 : 컨테이너는 독립적으로 실행, 실행에 필요한 모든 요소를 포함하므로 어떤 환경에서도 동일하게 작동
  • 경량성 : 가상머신은 환경에 OS를 포함시키기 때문에 무거움, 하지만 도커는 호스트 시스템의 운영체제를 공유하기 때문에 별도의 OS를 포함하지 않아서 훨씬 적은 자원을 사용
  • 이식성 : 컨테이너는 어느 환경에서도 작동하기 때문에 이식성이 좋다
  • 버전관리 : 버전관리를 지원함.
  • 확장

'TIL' 카테고리의 다른 글

TIA  (29) 2023.12.18
CQRS패턴  (0) 2023.12.14
Patch & Put 차이점  (2) 2023.12.07
통합 테스트, 단위 테스트  (2) 2023.12.04
메뉴판 프로그램  (0) 2023.10.23