docker 이미지 컨테이너 차이도커 이미지 컨테이너 차이컨테이너 도커 차이컨테이너와 도커도커 컨테이너란

Docker 이미지와 컨테이너의 차이점

KUKJIN LEE
KUKJIN LEE
2024년 6월 27일
113

컨테이너는 음식이 담겨 있는 도시락통이라면 이미지는 도시락 통에 담겨 있는 음식을 만들 수 있는 레시피라고 생각하면 이해하기 쉽습니다.

 

  • 정의: Docker 이미지는 컨테이너를 생성하기 위한 정적 템플릿입니다. 반면에 Docker 컨테이너는 이러한 이미지를 기반으로 실행되는 애플리케이션의 동적 인스턴스입니다.

  • 상태: Docker 이미지는 불변이기 때문에 생성 후 변경할 수 없습니다. 하지만 Docker 컨테이너는 실행 중에 변경이 가능합니다.

  • 역할: Docker 이미지는 컨테이너를 만들기 위한 청사진 역할을 하고, 컨테이너는 그 청사진을 실행하는 역할을 합니다.

  • 저장 위치: Docker 이미지는 Docker 레지스트리 (예: Docker Hub)와 같은 저장소에 저장됩니다. 반면에 컨테이너는 Docker 호스트 시스템에 저장되고 실행됩니다.

  • 크기: Docker 이미지는 일반적으로 작은 크기로 유지됩니다. 반면에 컨테이너는 실행 중 필요한 리소스를 포함하기 때문에 크기가 증가할 수 있습니다.

  • 변경 가능성: 이미지는 불변이기 때문에 변경할 수 없습니다. 변경하려면 새로운 이미지를 빌드해야 합니다. 반면에 컨테이너는 실행 중에 변경할 수 있습니다.

  • 사용 목적: Docker 이미지는 동일한 설정으로 여러 컨테이너를 생성하기 위해 사용됩니다. 컨테이너는 애플리케이션 실행 및 테스트에 사용됩니다.

  • 예시 명령어: 이미지는 docker build 또는 docker pull 명령어를 통해 생성 및 가져올 수 있습니다. 컨테이너는 docker run, docker start, docker stop 명령어를 통해 실행 및 제어됩니다.

 

이렇게 설명하면 이해하기가 힘들기 때문에 아래 표를 통해 쉽게 이해해봅시다.

 

관련 글

[SQL 입문] 필요한 데이터만 콕 집어 가져올 수 있는 WHERE 절

사용자는 테이블에 있는 모든 데이터를 다 보고 싶어 하지는 않습니다. 오히려 특정 항목에 대한 데이터만 가져오고 싶을 때가 훨씬 많습니다. 예를 들어, 어떤 사용자의 이메일이나 ID는 알고 있는데, 그 사람이 언제 우리 앱에 가입했는지 확인하고 싶다고 가정해 봅시다...

2026년 1월 27일10

SQL에서 SELECT란 무엇인가?

데이터베이스를 거대한 서류 보관함이라고 생각하면 됩니다. 보관함 안에는 수많은 데이터가 차곡차곡 쌓입니다. SELECT는 이 보관함에서 "내가 원하는 정보를 찾아줘!"라고 요청하는 명령어입니다. 이 과정을 전문 용어로 '쿼리(Query)'라고 부릅니다. &nbs...

2026년 1월 26일10

[SQL 기초] "언제 하나씩 다 넣어?" 데이터 한 번에 넣기

개발을 하다 보면 데이터베이스(DB)에 샘플 데이터를 대량으로 넣어야 할 때가 있습니다. 메뉴 100개를 추가해야 하는데 INSERT 문을 100번 쓰고 있다면? 너무 비효율적이죠! 오늘은 SQL에서 여러 데이터를 한 번에 넣는 '다중 삽입(Multiple Inse...

2026년 1월 21일13

SQL 데이터 삽입하기

데이터가 없는 데이터베이스는 연료 없는 로켓과 같습니다. 이제 'Missions' 테이블에 새로운 행(row)을 추가하는 방법을 알아보겠습니다. "삽입(Inserting)"은 '데이터 추가'를 의미합니다. 기존 Missions 테이블 ...

2026년 1월 20일12