도커(Docker)


도커(Docker)

  • 리눅스 컨테이너 기반의 가상화 플랫폼

  • 화물 수송용 선박의 컨테이너에 화물을 싣듯 각 컨테이너에 애플리케이션과 그 애플리케이션을 실행하기 위한 환경을 세팅하여 각각 독립적으로 실행 가능

컨테이너(Container)

  • 격리된 공간에서 프로세스가 동작하는 기술

  • 기존의 가상화 방식은 주로 OS를 가상화(VMware, VirtualBox) => 사용법이 비교적 간단하지만 무겁고 느려서 운영환경에서는 사용 불가

  • 성능 문제를 개선하기 위해 프로세스를 격리하는 방식 등장 => 자원을 프로세스가 필요한 만큼만 사용하기 때문에 성능 손실이 거의 없음

이미지

  • 컨테이너 실행에 필요한 파일과 설정값 등을 포함하는 일종의 패키지

  • 상태값을 가지지 않고 변하지 않음(Immutable)

  • 컨테이너는 이미지를 실행한 상태

  • 컨테이너를 실행하기 위한 모든 정보를 가지기 때문에 애플리케이션을 실행하기 위한 의존성을 세팅할 필요없이 이미지를 다운받고 컨테이너를 생성하기만 하면 됨

도커를 사용하는 이유

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

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