Image Layers

컨테이너 이미지는 읽기 전용 레이어를 재사용한다

이미지는 파일 시스템 변경분을 레이어로 쌓은 스냅샷이다. 실행 중 변경은 컨테이너 쓰기 레이어에 남고, 하위 이미지 레이어는 여러 컨테이너가 공유한다.

FROM, RUN, COPY 같은 빌드 단계가 레이어 경계를 만든다
이미지 레이어는 읽기 전용이고 digest로 식별된다
컨테이너 삭제 시 쓰기 레이어의 변경도 함께 사라진다
Writable layer로그, 임시 파일, 런타임 변경container
COPY . /app애플리케이션 코드와 설정layer d4
RUN pip install패키지 설치 결과layer c3
RUN apt-getOS 패키지와 런타임 파일layer b2
FROM python:3.11-slim공유되는 베이스 rootfslayer a1
Build

명령별 변경분 기록

각 레이어는 이전 레이어 위에 적용할 파일 시스템 변경분이다.
Pull

없는 digest만 다운로드

이미 가진 레이어는 다시 받지 않아 배포가 빨라진다.
Run

쓰기 레이어 추가

실행 중 변경은 이미지가 아니라 컨테이너 레이어에 기록된다.