apt-get のパッケージ一覧削除の確認

パッケージのインストールと一覧の削除を同じ RUN 内で行ってください。

説明

apt-get update で取得したパッケージ一覧は /var/lib/apt/lists に残ります。実行時に不要な一覧を保持すると、イメージサイズが大きくなる場合があります。

イメージ最適化と運用効率に関する事項です。後の RUN で削除しても前のレイヤーは小さくならないため、同じレイヤーでインストールと削除を終える必要があります。

想定される影響

  • 不要なパッケージ一覧により、保存容量やイメージ転送時間が増える場合があります。
  • 別レイヤーで削除すると、期待したサイズ削減が得られない場合があります。

対処方法

  • apt-get install の後、同じ RUN 内で rm -rf /var/lib/apt/lists/* を実行してください。
  • apt-get clean はダウンロード済みのパッケージアーカイブを削除する命令なので、一覧削除とは区別してください。後で追加インストールする場合はインデックスを再更新してください。

例

インストール後の一覧削除だけを比較します。パッケージのバージョン管理とセキュリティ更新は別途継続してください。

変更前

dockerfile
FROM ubuntu:24.04

RUN apt-get update \
    && apt-get install -y --no-install-recommends python3

変更後

dockerfile
FROM ubuntu:24.04

RUN apt-get update \
    && apt-get install -y --no-install-recommends python3 \
    && rm -rf /var/lib/apt/lists/*

補足:

  • 変更前: インストールに使ったパッケージ一覧がレイヤーに残ります。
  • 変更後: インストール成功後、同じ RUN で一覧を削除し、最終レイヤーに不要な一覧を残さないようにします。

参考資料