説明
Dockerfile の yum install で自動確認が設定されていないと、インストール中に確認入力を求める場合があります。応答するユーザーがいない自動ビルドでは、停止・失敗することがあります。
想定される影響
- イメージビルドがパッケージのインストール中に停止・失敗する場合があります。
- 緊急デプロイや復旧作業が遅れる場合があります。
対処方法
- yum install に -y または --assumeyes を使い、パッケージの署名検証は維持してください。
- インストールと yum clean all を同じ RUN にまとめ、自動ビルドが完了することを確認してください。確認オプションだけでは、パッケージ、リポジトリ、ネットワークのエラーは解消しません。
例
過去の CentOS 7 の例を保持しています。実際のビルドにはサポート中のイメージとリポジトリを使い、nginx を提供するリポジトリも用意してください。
変更前
dockerfile
FROM centos:7
RUN yum install nginx
変更後
dockerfile
FROM centos:7
RUN yum install -y nginx \
&& yum clean all
補足:
- 変更前: yum のインストール確認が必要になる場合があります。
- 変更後: -y で確認に応答し、インストール成功後にキャッシュを削除します。