Docker Image
🖼️ Docker Image란?
정의
Docker Image는 컨테이너를 만들기 위한 실행 템플릿이다.
이미지는 실행 환경, 애플리케이션 파일, 설정을 함께 담고 있는 읽기 전용 템플릿이다.
이 이미지를 기반으로 실제 실행 가능한 컨테이너가 만들어진다.
⚖️ Image와 Container 비교
| 구분 | Image | Container |
|---|---|---|
| 개념 | 실행 환경 템플릿 | 실제 실행 중인 인스턴스 |
| 상태 | 정적 | 동적 |
| 저장 위치 | 로컬 또는 레지스트리 | 메모리 및 프로세스 상태 |
| 실행 여부 | 직접 실행 불가 | 실행 가능 |
🧱 Image 구조
- Docker Image는 여러 레이어로 구성된다.
- 각 레이어는 Dockerfile 명령에 의해 생성된다.
- 변경된 레이어만 다시 만들면 빌드 시간이 줄어든다.
- 레이어 캐시를 활용하면 빌드가 더 빨라질 수 있다.
[Layer 4] RUN apt install curl
[Layer 3] COPY . .
[Layer 2] WORKDIR /app
[Layer 1] FROM openjdk:17
🔍 관련 명령어
| 명령어 | 설명 |
|---|---|
docker build -t [name] . |
현재 디렉터리의 Dockerfile로 이미지 생성 |
docker images |
로컬 이미지 목록 확인 |
docker rmi [image_id] |
이미지 삭제 |
docker pull [image] |
원격 저장소에서 이미지 받기 |
docker push [image] |
원격 저장소로 이미지 올리기 |
🗂️ 이미지 저장소
| 종류 | 설명 |
|---|---|
| Docker Hub | 공개 이미지 저장소 |
| GitHub Container Registry | GitHub 기반 이미지 저장소 |
| Private Registry | 조직 전용 이미지 저장소 |
⚠️ 주의할 점
- 이미지가 너무 크면 배포와 다운로드 시간이 길어진다.
- 불필요한 파일은
.dockerignore로 제외하는 것이 좋다. - 베이스 이미지는 가능한 한 가볍고 목적에 맞는 것을 선택하는 편이 좋다.
📌 정리
- Docker Image는 컨테이너 실행의 기반이다.
- 레이어 구조를 이해하면 빌드 최적화에 도움이 된다.
- 이미지 크기와 레이어 캐시는 실무에서 중요한 요소다.
댓글남기기