1장. Docker 와 가상환경

2024. 1. 6. 17:05Docker & kubernetes

  가상환경 Docker
구성 하이퍼 바이저를 이용해 여러개의 운영체제를 하나의 호스트에서 생성하여 사용 리눅스 자체 기능을 사용하에 프로세스 단위의 격리 환경 생성
성능 하이퍼 바이저를 반드시 거치기 때문에 일반 호스트에 비해 성능 손실 발생 프로세스 단위의 격리 환경으로 성능 손실이 거의 없음
이미지 용량 운영체제를 구동하기 위한 라이브러리, 커널 등을 포함하므로 배포해야하므로 이미지 용량이 큼 애플리케이션을 구동하는데 필요한 라이브러리 및 실행 파일만 존재하기 때문에 이미지 용량이 작음
이미지 생성 생성 시간이 오래걸림 가상 환경보다 빠름

 

Docker의 장점

  1. 애플리케이션 개발과 배포가 편리
    1. 로컬 OS(호스트 OS)와 격리된 공간에서 컨테이너가 구동되므로, 컨테이너 자체에 특별한 권한을 주지 않는 이상 컨테이너 내부에서 무슨 일을 하든 호스트 OS에는 영향이 가지 않음.
    2. 작업이 끝나면 컨테이너 자체를 이미지로 만들어 배포하면 됨. 이때 이미지 안에는 서비스를 개발할 때 사용한 환경들이 저장되어 있기 때문에 따로 환경 설정을 하지 않아도 됨
    3. 가상 머신 이미지와 다르게 커널이 포함되지 않아 이미지 크기가 작은 편. 
    4. 이미지 내용을 레이어 단위로 구성하여, 중복되는 레이어를 재사용할 수 있게 구성함 → 배포 속도가 빠름.
  2. 여러 애플리케이션의 독립성과 확장성 상승
    1. 소프트웨어의 자체 확장성과 유연성을 보장하기 위해 마이크로 서비스 구조가 새롭게 떠오르고 있음.
    2. 마이크로 서비스 구조는 여러 모듈을 독립된 형태로 구성하기 때문에 언어에 종속되지 않고 변화에 빠르게 대응하여 모듈별 관리가 용이하다는 장점이 있음 → 컨테이너는 수 초내로 생성, 시작할 수 있을 뿐만 아니라 여러 모듈에게 독립된 환경을 동시에 제공할 수 있어 마이크로 서비스 구조에서 가장 많이 사용되고 있음

'Docker & kubernetes' 카테고리의 다른 글

05. Docker compose  (0) 2024.02.12
04. Dockerfile  (0) 2024.01.17
03. 유용한 Docker 명령어 목록  (0) 2024.01.09
02장. 이미지와 컨테이너  (0) 2024.01.06