質問: docbotコンテナーにcertbotをインストールする際のtzdataとのユーザーの対話を回避する ubuntu 16.04イメージのあるdocker環境に certbot をインストールしたい:例えば:docker run -it ubuntu:16.04 /bin/bash コンテナ内にいるとき、certbotをインストールする最も簡単な方法は、ユーザーの介入が必要なため機能しません。apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository -y -u ppa:certbot/certbot && \ apt-get install -y certbot 問題はtzdataであり、この対話型ダイアログで停止します。extracting templates from packages: 100% preconfiguring packages ... configuring tzdata ------------------ please select the geographic area in which you live. subsequent configuration questions will narrow this down by presenting a list of cities, representing the time zones in which they are located. 1. africa 4. australia 7. atlantic 10. pacific 13. etc 2. america 5. arctic 8. europe 11. systemv 3. antarctica 6. asia 9. indian 12. us geographic area: 奇妙なことに、ppaを追加する前にtzdataをインストールすると動作します。apt-get update && \ apt-get install -y tzdata && \ apt-get install -y software-properties-common && \ add-apt-repository -y -u ppa:certbot/certbot && \ apt-get install -y certbot 質問: なぜtzdataをインストールするか、ppaを追加する前か後かで違いが出るのですか? certbotをインストールするときに対話型ダイアログを回避するためのより良いアプローチはありますか?
回答: tl&dr: dockerfile内env debian_frontend=noninteractive 理由:特定のインストーラーは、ニースのフロントエンドを持つことで「インストール」を簡単にします。これは手動インストールの場合は素晴らしいことですが、自動インストール中に問題になります。環境文字列に以下を配置することにより、対話型インストールを上書きできます。乾杯