도커(Docker)
도커(Docker)
-
리눅스 컨테이너 기반의 가상화 플랫폼
-
화물 수송용 선박의 컨테이너에 화물을 싣듯 각 컨테이너에 애플리케이션과 그 애플리케이션을 실행하기 위한 환경을 세팅하여 각각 독립적으로 실행 가능
컨테이너(Container)
-
격리된 공간에서 프로세스가 동작하는 기술
-
기존의 가상화 방식은 주로 OS를 가상화(VMware, VirtualBox) => 사용법이 비교적 간단하지만 무겁고 느려서 운영환경에서는 사용 불가
-
성능 문제를 개선하기 위해 프로세스를 격리하는 방식 등장 => 자원을 프로세스가 필요한 만큼만 사용하기 때문에 성능 손실이 거의 없음
이미지
-
컨테이너 실행에 필요한 파일과 설정값 등을 포함하는 일종의 패키지
-
상태값을 가지지 않고 변하지 않음(Immutable)
-
컨테이너는 이미지를 실행한 상태
-
컨테이너를 실행하기 위한 모든 정보를 가지기 때문에 애플리케이션을 실행하기 위한 의존성을 세팅할 필요없이 이미지를 다운받고 컨테이너를 생성하기만 하면 됨
도커를 사용하는 이유
-
애플리케이션의 개발과 배포가 편리해짐
-
여러 애플리케이션의 독립성과 확장성이 높아짐 (MSA)