dnf のインストールキャッシュ削除の確認

dnf のインストールとキャッシュ削除を同じ RUN 内で行ってください。

説明

dnf install は、パッケージのメタデータやキャッシュをイメージレイヤーに残す場合があります。実行時に不要なキャッシュは、イメージサイズと保存・転送コストを増やします。

後の RUN で削除しても、前のレイヤーのサイズは減りません。同じレイヤーでインストールと削除を終えることで、そのキャッシュが残るのを抑えられます。

想定される影響

  • 保存容量や転送・デプロイ時間が増える場合があります。
  • 不要なキャッシュによりイメージ管理の負担が増える場合があります。

対処方法

  • dnf install の後に、同じ RUN 内で dnf clean all を実行してください。
  • 残ったキャッシュと最終イメージサイズを確認してください。キャッシュ削除は、インストール済みパッケージのセキュリティ更新の代わりにはなりません。

例

既存の Fedora 40 の例を保持したコマンド比較です。実際のビルドにはサポート中のベースとリポジトリを選び、nginx パッケージが提供されていることを確認してください。

変更前

dockerfile
FROM fedora:40

RUN dnf install -y nginx

変更後

dockerfile
FROM fedora:40

RUN dnf install -y nginx \
    && dnf clean all

補足:

  • 変更前: インストールキャッシュがイメージに残る場合があります。
  • 変更後: インストール成功後、同じ RUN で dnf キャッシュを削除します。前のレイヤーに保存済みのファイルのサイズまでは減りません。

参考資料