Docker 이미지와 컨테이너, 뭐가 다를까?
KUKJIN LEE • 3시간 전 작성
이미지와 컨테이너 둘 다 Docker에서 애플리케이션을 실행하는 데 필요한 요소지만, 역할이 다릅니다.
💡 쉽게 말하면?
-
이미지(Image) = 레시피(요리법) 📜
-
컨테이너(Container) = 레시피를 보고 만든 요리 🍲
즉, 이미지는 실행할 애플리케이션의 ‘템플릿’ 역할을 하고, 컨테이너는 이를 실제로 실행하는 것입니다.
Docker 이미지(Image)란?
Docker 이미지는 컨테이너를 실행하기 위한 설정 파일과 애플리케이션 코드가 포함된 패키지입니다.
이 이미지를 기반으로 컨테이너를 생성하면, 언제든지 동일한 환경에서 애플리케이션을 실행할 수 있습니다.
📌 Docker 이미지의 특징
✅ 애플리케이션 실행에 필요한 모든 파일(코드, 라이브러리, 설정 등)이 포함됨
✅ 실행 전에는 변경할 수 없는 불변(Immutable) 상태
✅ Docker Hub 또는 로컬 저장소에 저장됨
📌 이미지 목록 확인하기
docker images
✅ 현재 로컬에 저장된 모든 Docker 이미지를 확인할 수 있습니다.
Docker 컨테이너(Container)란?
Docker 컨테이너는 이미지를 실행한 상태로, 실제 애플리케이션이 동작하는 독립된 환경입니다.
📌 Docker 컨테이너의 특징
✅ 이미지에서 생성되며, 실행 중인 애플리케이션 환경
✅ 여러 개의 컨테이너를 동일한 이미지에서 실행 가능
✅ 필요하면 컨테이너를 쉽게 중지/삭제 가능
📌 컨테이너 목록 확인하기
docker ps -a
✅ 현재 실행 중이거나 중지된 모든 컨테이너를 확인할 수 있습니다.
Docker 이미지 vs 컨테이너 비교
비교 항목 |
Docker 이미지 (Image) |
Docker 컨테이너 (Container) |
---|---|---|
역할 |
실행 가능한 애플리케이션 템플릿 |
실행 중인 애플리케이션 인스턴스 |
상태 |
불변 (변경 불가) |
가변 (실행 중 데이터 변경 가능) |
저장 위치 |
로컬/원격 저장소 (Docker Hub) |
실행 중인 시스템 메모리 |
실행 여부 |
단독 실행 불가 |
실제 실행 가능 |
📌 쉽게 이해하면?
-
이미지 = 📜 설명서(레시피)
-
컨테이너 = 🍲 실제 요리된 음식