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 の必須依存関係はインストールします。必要な機能が動くことを確認してください。

参考資料