apt-get のインストール確認入力の点検

apt-get の確認を自動化し、パッケージ固有の追加入力も確認してください。

説明

自動確認が設定されていない場合、Dockerfile の apt-get install はユーザー入力を求めることがあります。CI/CD などの自動ビルドでは入力できず、処理が止まったり失敗したりする場合があります。

-y、--yes、--assume-yes は apt-get の確認に自動で応答します。パッケージ設定スクリプトのすべての質問に対応したり、インストール成功を保証したりするものではありません。

想定される影響

  • 自動ビルドが確認入力で停止・失敗する場合があります。
  • 緊急デプロイや復旧に必要なイメージ再ビルドが遅れる場合があります。

対処方法

  • apt-get install に -y、--yes、--assume-yes のいずれかを使い、自動ビルドが完了することを確認してください。
  • 追加質問があるパッケージには必要な値を事前設定し、非対話設定はそのインストールコマンドだけに適用してください。署名検証を無効にして確認エラーを回避しないでください。

例

インストール確認オプションだけを比較します。インデックス更新とインストールは同じ RUN 内で行います。キャッシュ削除やバージョン管理は別途確認してください。

変更前

dockerfile
FROM ubuntu:24.04

RUN apt-get update && apt-get install curl

変更後

dockerfile
FROM ubuntu:24.04

RUN apt-get update && apt-get install -y curl

補足:

  • 変更前: apt-get のインストール確認が必要になる場合があります。
  • 変更後: -y で apt-get の確認に応答します。追加の設定質問や依存関係エラーは別途対処が必要です。

参考資料