게으른 제이 2023. 3. 12. 22:41

개요

Container

도커란 컨테이너라는 하나의 소프트웨어 유닛 안에 어플리케이션의 구동에 필요한 구성이나 종속성등을 패키징해서

다른 어떤 환경에서도 어플리케이션이 안정적으로 구동될 수 있게 해주는 기술이다.

 

가상머신과 컨테이너의 차이

가상머신(Virtual Machine: VM)은 컨테이너에 비해 가상머신 유닛마다 OS가 설치되어 어플리케이션이 구동되는데에 시간이 오래걸리고, 용량이 크며 서버의 자원을 낭비한다.

 

컨테이너는 컨테이너 엔진이 설치된 호스트의 OS를 공유하여, VM에 비해 구동 시간이 빠르고 용량이 작으며 서버의 자원 낭비를 줄일 수 있다.

 

도커의 3대 구성요소

DockerFile

컨테이너에 설치해야하는 패키지, 소스코드, 명령어, 환경변수설정 등을 기록한 하나의 파일이다.

이를 빌드하면 하나의 Image가 생성된다.

 

Image

컨테이너 생성과 실행에 필요한 모든 파일과 구성 값을 가진 것, 이미지는 불변성을 가진다.

 

Container

특정 이미지를 실행중인 인스턴스를 컨테이너라고 한다. 각각의 컨테이너는 독립적으로 실행되며 변경이 가능하다.