본문 바로가기
DOCKER

[DOCKER] Docker Image 와 Container

by sum_mit45 2024. 10. 14.
728x90
반응형
10월 11일(금) 수업 중 필기 내용

Docker Image 란?

  • Docker 이미지는 애플리케이션을 실행하기 위한 모든 요소를 포함하는 읽기 전용의 불변(immutable)한 파일이다.
  • 즉 운영체제, 애플리케이션 코드, 라이브러리, 환경 변수 등을 모두 포함한 패키지로, 특정 애플리케이션을 실행하기 위한 설계도 역할
    => 하나만 있으면 동일한 Container를 여러 개 생성할 수 있음
  • 일반적으로 Docker 이미지는 Dockerfile 이라는 파일을 통해 정의한다. Dockerfile 에는 이미지를 빌드하는 데 필요한 명령어들이 포함되어 있다. 

Docker Container 란?

  • Docker 컨테이너는 이미지를 실행한 인스턴스(instance) 이다. 도커 엔진은 이미지를 이용해서 컨테이너를 생성할 수 있는데, 이 때 읽고 쓰기가 가능한 레이어를 추가해서 컨테이너를 생성한다. 
  • 이미지가 애플리케이션을 실행하기 위한 설정 파일이라면, 컨테이너는 그 설정 파일을 바탕으로 동작하는 애플리케이션 자체라고 할 수 있다.
  • 실행 환경: 컨테이너는 가상 머신처럼 독립적인 실행 환경을 제공한다. 그러나 가상 머신과 달리, 컨테이너는 운영체제 커널을 공유하기 때문에 매우 가볍고 빠르다.
  • 변경 가능성: 컨테이너는 이미지를 기반으로 실행되지만, 실행 중에 설정을 변경하거나 데이터를 추가할 수 있다. 그러나 컨테이너는 일시적인 성격을 가지므로, 변경 사항은 저장되지 않는다(데이터는 별도의 볼륨에 저장해야 함).

Docker 이미지와 컨테이너 비교

정의 애플리케이션을 실행하기 위한 불변의 파일 실행 중인 애플리케이션 인스턴스
역할 컨테이너 생성의 청사진 실제 애플리케이션이 실행되는 환경
상태 불변 (immutable) 변할 수 있으며 일시적 (ephemeral)
저장 위치 로컬 또는 Docker Hub와 같은 저장소에 저장 호스트 시스템에서 메모리나 볼륨에 저장
실행 여부 실행 불가능 (정적인 상태) 실행 가능 (동적인 상태)

 

728x90
반응형