説明
yum install はパッケージのメタデータやキャッシュをイメージレイヤーに残す場合があります。実行時に不要なファイルが残ると、イメージサイズ、転送時間、保存コストが増える場合があります。
後の RUN で削除しても前のレイヤーのサイズは減らないため、インストールと削除を同じレイヤーで行ってください。
想定される影響
- イメージが大きくなり、保存容量とデプロイ時間が増える場合があります。
- 不要なインストールキャッシュがイメージに含まれたままになる場合があります。
対処方法
- yum install の後に、同じ RUN 内で yum clean all を実行してください。
- 残ったキャッシュと最終イメージサイズを確認し、インストール済みパッケージの更新は別途管理してください。
例
既存の CentOS 7 の例は、コマンド順序を示す過去の構成例です。実際のビルドにはサポート中のベースとリポジトリを使い、nginx を提供するリポジトリも用意してください。
変更前
dockerfile
FROM centos:7
RUN yum install -y nginx
変更後
dockerfile
FROM centos:7
RUN yum install -y nginx \
&& yum clean all
補足:
- 変更前: インストールキャッシュがイメージに残る場合があります。
- 変更後: インストール成功後、同じレイヤーで yum キャッシュを削除します。