설명
yum install을 실행하면 패키지 메타데이터와 캐시가 이미지 레이어에 남을 수 있습니다. 런타임에 필요 없는 파일이 남으면 이미지 크기, 전송 시간과 저장 비용이 증가할 수 있습니다.
나중 RUN에서 파일을 삭제해도 앞선 레이어의 크기는 줄지 않으므로 설치와 정리를 같은 레이어에서 처리하세요.
잠재적 영향
- 이미지 크기가 커져 저장소 사용량과 배포 시간이 늘어날 수 있습니다.
- 필요 없는 설치 캐시를 이미지와 함께 보관하게 될 수 있습니다.
해결 방법
- yum install 후 yum clean all을 같은 RUN에서 실행하세요.
- 최종 이미지의 잔여 캐시와 크기를 확인하고 설치된 패키지의 업데이트도 별도로 관리하세요.
예시
기존 CentOS 7 예제는 명령 순서를 보여 주는 역사적 예시입니다. 실제 빌드에는 지원되는 베이스와 저장소를 사용하고 nginx를 제공하는 저장소를 준비하세요.
변경 전
dockerfile
FROM centos:7
RUN yum install -y nginx
변경 후
dockerfile
FROM centos:7
RUN yum install -y nginx \
&& yum clean all
설명:
- 변경 전: 설치 캐시가 이미지에 남을 수 있습니다.
- 변경 후: 설치가 성공한 뒤 같은 레이어에서 yum 캐시를 정리합니다.