본문 바로가기
Docker

[Docker] Docker(도커) Image(이미지)와 Contianer(컨테이너) 정의와 개념 정리

by 클수저 2025. 2. 18.
728x90
반응형

🐳 Docke Contianer 개념

컨테이너는 코드와 모든 종속성 패키지를 묶어서 응용 프로그램이 한 컴퓨팅 환경에서 다른 컴퓨팅 환경으로 빠르고 안정적으로 실행되는 소프트웨어 표준 단위!

중요 기능은 컨테이너 내부에서 실행되는 컴퓨팅 환경의 표준화다.
(standardization of the computing environment running inside the container.)

응용 프로그램이 동일한 환경에서 작동하도록 할 뿐 아니라 다른 사람과의 공유도 단순화한다.

컨테이너는 자율적(autonomous)이기 때문에 strong isolation을 제공하며 서로 방해하지 않는다.   👉🏻 격리!!

 

하드웨어 수준에서 가상화가 이루어지는 VM과 달리 컨테이너는 애플리케이션 계층에서 가상화!

하나의 머신을 활용하고, 커널을 공유하며 분리된 프로세스를 실행하기 위한 운영 체제를 가상화할 수 있다.

 📑Docker Image 개념

Application을 포장 및 전송하기 위해 도커는 "docker image"를 사용한다.

Docker image는 파일로 어플리케이션 실행에 필요한 독립적인 환경을 포함하며, 런타임 환경을 위한 일종의 템플릿이다.

 

도커 이미지는 소스 코드, 라이브러리, 종속성, 도구 및 응용 프로그램을 실행하는데 필요한 기타 파일을 포함하는 불변(변경 불가) 파일이다.

이미지는 읽기 전용이므로 스냅샷이라고도 하며, 특정 시점의 애플리케이션과 가상 환경을 나타낸다.

이러한 일관성은 도커의 큰 특징 중 하나로 개발자가 안정적이고 균일한 조건에서 소프트웨어를 테스트하고 실험할 수 있도록 한다.

 

이미지는 템플릿일 뿐이므로 시작하거나 실행할 수 없다. 컨테이너는 실행 중인 이미지일 뿐이기 때문이다.

컨테이너를 생성하면 쓰기 가능한 레이어가 immutable image(불변 이미지) 위에 추가된다. 즉, 컨테이너는 수정이 가능하다.

 

컨테이너를 생성하는 이미지 베이스는 별도로 존재하며 변경할 수 없다. 

컨테이너 환경을 실행할 때는 기본적으로 컨테이너 내부에 해당 파일 시스템(도커 이미지)의 읽기-쓰기 복사본을 만든다.

 

Container vs Image

도커를 학습하면 굉장히 헷갈리는 개념이다! 
이것부터 헷갈리지 않아야 도커를 입문하기에 수월하다!! 기억하자!!!

 

728x90
반응형