Debian 9 コンテナでtaskselを使用してパッケージをインストールしようとするとエラーが発生する

Debian 9 コンテナでtaskselを使用してパッケージをインストールしようとするとエラーが発生する

私は Docker デスクトップ コミュニティ 2.0.3 を実行しています。docker hub (hub.docker.com) から公式の nginx および Apache HTTP サーバー コンテナーを実行しました。コンテナー イメージは Debian 9 に基づいています。次に、tasksel を使用して Debian 標準システム ユーティリティをインストールしようとしました。次のコマンドを使用してコンテナー内でターミナルを開きました。

docker exec -ti container_id bash

タスクセルのインストールを実行しようとしました

# tasksel install standard
debconf: unable to initialize frontend: Dialog
debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base .) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Installing packages
-------------------

..100%

問題は次のとおりです:

  • スクリーンショットに見られるように、タスクセル TUI (テキスト ユーザー インターフェイス) は開きません。
  • 上記のエラーが発生し、インストールが完了しません。

DockerデスクトップはmacOS 10.12にインストールされています

タスクセル

答え1

を使用するには、コンテナに ;taskselをインストールする必要があります。dialog

apt update && apt install -y dialog tasksel

それから

tasksel install standard

通常のインターフェースで動作します。

変数を渡す必要はありませんTERM

標準ユーティリティの多くはコンテナではあまり役に立ちませんが、これを実行する場合は、aptitudeの代わりにを使用しますtasksel

apt update && apt install -y aptitude && \
aptitude install -y ~pstandard ~prequired ~pimportant

答え2

ncurses には次のコマンドが必要であることがわかりました: https://stackoverflow.com/a/38774123/3341782 もっと良い解決策があるかどうかはわかりません。

関連情報