본문 바로가기
공부/도커 및 쿠버네티스

[시작하세요 도커/쿠버네티스] 이미지와 컨테이너

by GGT 2021. 9. 5.

이미지와 컨테이너

도커를 상징하는 고래, 컨테이너를 싣고 있다.

이미지와 컨테이너는 도커 엔진에서 사용하는 기본 단위

 

도커 이미지

가상머신으로 따지면 생성할 때 필요한 iso 파일과 유사한 개념

 

이미지는 여러 개의 계층으로 된 바이너리 파일로 존재하며 컨테이너 생성 시 읽기전용으로 사용된다.

도커 이미지의 이름은 기본적으로 다음 형태와 같다.

 

[저장소 이름] / [이미지 이름] : [태그]

 

저장소

여기서 저장소는 이미지가 저장된 장소를 의미한다.

이를 명시하지 않은 경우 도커 기본 이미지 저장소인 Docker Hub의 공식 이미지임을 뜻한다.

따라서 별도의 이미지 저장소를 사용하는 것이 아니라면 이를 생략해도 무방하다.

 

이미지 이름

말 그대로 해당 이미지의 이름

이름을 통해 해당 이미지가 어떤 역할을 하는지 파악할 수 있다.

이는 저장소처럼 생략할 수 없으며 반드시 설정해야 한다.

 

태그

태그는 이미지의 버전 관리 혹은 리비전(Revision) 관리에 사용한다.

일반적으로 14.04와 같이 버전을 명시하지만 태그를 생략한 경우에는 가장 최신의 버전인 latest 태그로 인식한다.

 

리비전 : 업데이트나 수정을 뜻함

 

 

도커 컨테이너

컨테이너는 도커 이미지를 기반으로 만들어지며 파일시스템과 격리된 시스템 자원 및 네트워크를 사용할 수 있는 독립된 공간

 

이미지로 컨테이너를 만들 수 있다.

하나의 이미지를 통해 여러 개의 컨테이너를 생성하는 것도 가능하다.

예를 들어 하나의 웹 서버 이미지를 기반으로 여러 컨테이너를 생성하게 되면 

당연히 그 컨테이너 수 만큼 외부에 웹 서비스를 제공하는 것이 가능하다!

 

이는 클래스와 객체(인스턴스)의 관계와 유사하다 볼 수 있는데
클래스에 정의된 속성이나 메소드를 기반으로 인스턴스들을 생성하는 것 처럼

도커 이미지에 정의된 내용(파일, 커맨드)를 기반으로 도커 컨테이너들을 만들어낼 수 있다.

 

또한, 컨테이너 생성 시 이미지를 읽기 전용으로 사용하기 때문에 원본 이미지는 영향을 받지 않으며

각 컨테이너들은 독립된 파일시스템을 제공받으며 호스트와 분리되어 있으므로

각 컨테이너들은 서로 영향을 주지 않으며 호스트에게도 영향을 주지 않는다.

 

물론 의도적으로 영향을 주고자 했을 때는 제외한다.

 

반응형

댓글