반응형
반응형
레이어(Layer) 기반 구조
- 도커 이미지는 여러 레이어(계층)로 이루어진다.
- Dockerfile의 각 명령(FROM, RUN, COPY, …)마다 새로운 레이어가 생긴다.
- 레이어는 불변(Immutable)하고 보통 SHA256 해시값으로 식별된다.
스토리지 드라이버(Storage Driver)
- 실제 레이어 파일을 디스크에 저장하고 여러 레이어를 합쳐서 하나의 파일시스템처럼 보여주는 기능을 담당한다.
- 대표적으로 overlay2를 많이 사용하며 /var/lib/docker/overlay2/<해시> 형태로 레이어를 관리한다.
메타데이터(DB) 관리
- 도커 엔진은 어떤 이미지가 어떤 레이어들로 구성되는지, 이미지 이름/태그, 컨테이너 설정을 별도의 내부 DB(메타데이터)로 관리한다.
- 이 정보와 실제 레이어 파일이 정확히 매칭되어야 컨테이너 생성 및 삭제가 정상적으로 동작한다.
레이어의 장점
- 중복 제거: 여러 이미지가 같은 레이어를 공유하면 한 번만 저장(또는 다운로드)하면 된다.
- 캐싱: 빌드 과정에서 변경되지 않은 레이어는 재사용함으로써 빌드 속도를 높일 수 있다.
주의사항: overlay2 디렉터리 직접 수정 금지
- /var/lib/docker/overlay2(또는 설정된 Docker Root Dir) 내부의 폴더들을 임의로 삭제/변경하면 메타데이터와 불일치가 생긴다.
- 이 경우 도커가 이미지를 인식 못하거나 컨테이너 생성에 실패할 수 있으므로 이미지는 반드시 Docker 명령어(docker pull, docker rmi, docker system prune 등)를 통해 관리하는 것이 안전하다.
요약
- 도커 이미지는 다중 레이어로 구성되며 각 레이어는 해시값으로 식별된다.
- 스토리지 드라이버(예: overlay2)를 통해 실제 디렉터리에 레이어들이 저장된다.
- **도커 메타데이터(DB)**에는 “이미지 이름/태그”와 “어떤 레이어가 쓰이는지” 등 각종 정보가 기록된다.
- overlay2 디렉터리를 직접 만지면 문제 발생 가능성이 높으므로 도커 CLI로만 이미지·레이어를 관리한다.
반응형
'Docker & Kubernetes' 카테고리의 다른 글
도커 이미지의 레이어는 무엇인가? (0) | 2025.01.12 |
---|---|
도커 이미지 빌드하기 (Apache Airflow) (0) | 2024.11.03 |
호스트에서 직접 도커 컨테이너에 파이썬 라이브러리 설치하기 (2) | 2024.10.27 |
Docker 이미지 업데이트 자동화: Shell Script와 Docker Compose 활용 (0) | 2024.08.25 |
Docker Compose의 구조 (0) | 2024.08.25 |