설명
apt-get install은 기본 설정에서 추천 패키지(Recommends)도 설치합니다. 워크로드에 필요하지 않은 추천 패키지까지 포함되면 이미지 크기와 관리할 소프트웨어 범위가 늘어납니다.
--no-install-recommends는 추천 패키지의 자동 설치를 줄이는 옵션입니다. 필수 의존성을 생략하거나 설치된 모든 패키지가 안전하다고 보장하는 것은 아닙니다.
잠재적 영향
- 사용하지 않는 바이너리와 라이브러리가 늘어 이미지 크기와 업데이트 부담이 커질 수 있습니다.
- 실제로 필요한 추천 패키지를 빠뜨리면 애플리케이션 기능이 동작하지 않을 수 있습니다.
해결 방법
- 가능하면 apt-get install에 --no-install-recommends를 사용하고 실제로 필요한 추가 패키지는 명시적으로 설치하세요.
- 설치 결과와 애플리케이션 기능을 확인하고 불필요한 캐시와 패키지 목록을 같은 RUN에서 정리하세요.
예시
두 예제는 추천 패키지 옵션만 비교합니다. 캐시 정리와 버전 고정은 생략했습니다.
변경 전
dockerfile
FROM ubuntu:24.04
RUN apt-get update \
&& apt-get install -y curl
변경 후
dockerfile
FROM ubuntu:24.04
RUN apt-get update \
&& apt-get install -y --no-install-recommends curl
설명:
- 변경 전: APT 설정에 따라 curl의 추천 패키지도 설치될 수 있습니다.
- 변경 후: 추천 패키지를 자동으로 추가하지 않지만 curl의 필수 의존성은 설치합니다. 실제 필요한 기능은 시험해야 합니다.