zypper のキャッシュ削除の確認

インストールと zypper のキャッシュ削除を同じ RUN 内で完了してください。

説明

zypper の使用後、ダウンロード済みパッケージやリポジトリのメタデータがイメージに残る場合があります。実行時に不要なキャッシュは、イメージサイズと転送コストを増やします。

zypper clean は既定でダウンロード済みパッケージのキャッシュを削除します。メタデータも削除するには zypper clean --all を使ってください。

想定される影響

  • イメージの転送やデプロイに、より多くの時間や保存容量が必要になる場合があります。
  • 後のレイヤーで削除しても、前のレイヤーのキャッシュサイズは残ります。

対処方法

  • インストール成功後、同じ RUN 内で zypper clean を実行し、メタデータも不要なら --all を指定してください。
  • 一つのレイヤーでインストールと削除を終え、最終イメージのサイズと残ったファイルを確認してください。

例

既存の openSUSE Leap 15.6 の例を保持しています。実際のビルドにはサポート中のイメージとリポジトリを使ってください。変更後は既定のパッケージキャッシュ削除だけを示します。

変更前

dockerfile
FROM opensuse/leap:15.6

RUN zypper install -y nginx

変更後

dockerfile
FROM opensuse/leap:15.6

RUN zypper install -y nginx \
    && zypper clean

補足:

  • 変更前: インストール後のキャッシュが残る場合があります。
  • 変更後: 同じ RUN でダウンロード済みパッケージのキャッシュを削除します。既定のコマンドは、すべてのメタデータキャッシュまで削除するものではありません。

参考資料