설명
zypper를 사용한 뒤 다운로드 캐시나 저장소 메타데이터가 이미지에 남을 수 있습니다. 런타임에 필요하지 않은 캐시는 이미지 크기와 전송 비용을 늘립니다.
zypper clean은 기본적으로 다운로드한 패키지 캐시를 정리합니다. 메타데이터까지 지우려면 zypper clean --all을 사용하세요.
잠재적 영향
- 이미지 전송과 배포에 더 많은 시간과 저장 공간이 필요할 수 있습니다.
- 나중 레이어에서 삭제하면 앞선 레이어의 캐시 크기는 남습니다.
해결 방법
- 설치가 성공한 뒤 같은 RUN에서 zypper clean을 실행하고, 메타데이터도 불필요하다면 --all을 지정하세요.
- 설치와 정리를 한 레이어에서 마치고 최종 이미지의 크기와 남은 파일을 확인하세요.
예시
기존 openSUSE Leap 15.6 예제를 유지합니다. 실제 빌드에는 지원되는 이미지·저장소를 사용하세요. 변경 후는 기본 패키지 캐시 정리만 보여 줍니다.
변경 전
dockerfile
FROM opensuse/leap:15.6
RUN zypper install -y nginx
변경 후
dockerfile
FROM opensuse/leap:15.6
RUN zypper install -y nginx \
&& zypper clean
설명:
- 변경 전: 설치 이후의 캐시가 남을 수 있습니다.
- 변경 후: 같은 RUN에서 다운로드 패키지 캐시를 정리합니다. 기본 명령은 메타데이터 캐시까지 모두 지우지는 않습니다.