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