반응형
Docker를 사용할 때 가장 기본이 되는 개념은 바로 이미지와 컨테이너입니다. 두 개념은 밀접하게 연결되어 있지만, 역할과 특징이 분명히 다릅니다.
1. 이미지(Image)
- 정적인 실행 템플릿
- 컨테이너를 만들기 위한 설계도(스냅샷) 역할
- 파일 시스템, 라이브러리, 설정 파일, 의존성 등 포함
- 상태 변화 없음 (읽기 전용)
예시:
ubuntu:22.04
,python:3.11
,nginx:latest
2. 컨테이너(Container)
- 이미지로부터 만들어진 실행 중인 인스턴스
- 실제로 동작하는 애플리케이션 환경
- 파일 쓰기, 로그, 데이터 등 상태가 존재함
- 종료하거나 삭제 가능
예시: 실행 중인
nginx
웹 서버, 실행 중인Django
앱 등
3. 비교 표
구분 | 이미지 (Image) | 컨테이너 (Container) |
---|---|---|
역할 | 실행을 위한 정적 템플릿 | 실행 가능한 가상 환경 |
상태 | 불변 (정적, 읽기 전용) | 가변 (동적, 상태 유지 가능) |
생성 방법 | docker build |
docker run |
실행 가능성 | 직접 실행 불가 | 실행 가능 (docker start , exec 등) |
저장 위치 | 호스트의 Docker 이미지 저장소 | 호스트의 컨테이너 영역 (격리된 파일시스템) |
4. 관계 요약
Dockerfile → Docker Image → Docker Container
Dockerfile
로부터 이미지를 만들고 (docker build
)- 이미지를 기반으로 컨테이너를 실행 (
docker run
) - 컨테이너는 이미지의 실행 인스턴스이며, 상태를 가질 수 있음
5. 참고 명령어
# 이미지 목록 보기
docker images
# 컨테이너 목록 보기
docker ps -a
# 이미지로부터 컨테이너 실행
docker run -it ubuntu:22.04 bash
# 컨테이너 중지/삭제
docker stop <container_id>
docker rm <container_id>
반응형
'Docker' 카테고리의 다른 글
Docker Container에 SSH로 접속하는 방법 (0) | 2025.05.22 |
---|---|
Docker 관리 스크립트 (참고) (1) | 2025.05.22 |
Docker Image & Container 생성 방법 (0) | 2025.05.22 |
Dockerfile 만들기: Ubuntu 22.04 기반 개발 환경 구축 (0) | 2025.05.22 |
Ubuntu 24.04에 Docker 설치하는 방법 (0) | 2025.05.21 |