[Docker] 도커란?

Joney의 SW 공부 블로그·2024년 4월 2일
0

Docker

목록 보기
1/1

가상 머신과 도커 컨테이너

기존의 가상화 기술

  • 하이퍼바이저를 이용해 여러 개의 게스트 운영체제를 하나의 호스트 운영체제에서 실행
  • 단점
    • 하이퍼바이저를 거치기 때문에 일반 호스트에 비해 성능 손실 발생
    • 게스트 운영체제를 사용하기 위해 라이브러리, 커널 등 전부 포함하기 때문에 이미지 크기가 커짐

도커 컨테이너

  • 리눅스 자체 기능인 chroot, namespace, cgroup을 사용해 프로세스 단위의 격리 환경으로 성능 손실을 방지
  • 컨테이너에 필요한 커널은 호스트의 커널을 공유
  • 컨테이너 안에는 애플리케이션을 구동하는 데 필요한 라이브러리 및 실행 파일만 존재
    • 용량이 적어지는 장점이 있음
    • 배포 시간이 줄어드는 장점이 있음

도커를 시작해야하는 이유

애플리케이션의 개발과 배포가 편해짐

  • 도커 컨테이너는 호스트 OS 위에서 실행되는 격리된 공간
    • 컨테이너에서 실행되는 소프트웨어는 호스트 OS에 영향을 끼치지 않음

여러 애플리케이션의 독립성과 확장성이 높아짐

  • 컨테이너는 수 초 내로 생성, 시작이 가능하고 여러 모듈에 독립됨
    • 마이크로 서비스 구조에 적용하기에 적합
profile
SW 지식 노트 블로그

0개의 댓글