apt-get 추천 패키지 설치 범위 점검

필요한 패키지와 의존성을 확인하고 불필요한 추천 패키지 설치를 줄이세요.

설명

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의 필수 의존성은 설치합니다. 실제 필요한 기능은 시험해야 합니다.

참조