도커
컨테이너 기반의 오픈소스 가상화 플랫폼. 리눅스 컨테이너에 리눅스 어플리케이션을 프로세스 격리기술을 사용하여 더 쉽게 컨테이너로 실행하고 관리할 수 있게 해주는 오픈소스 프로젝트 이다.
더보기
컨테이너 : 소프트웨어와 그 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 |