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