我正在运行 Docker 桌面社区 2.0.3。我从 docker hub (hub.docker.com) 运行官方 nginx 和 Apache HTTP 服务器容器。容器镜像基于Debian 9。然后,我尝试使用taskel安装Debian标准系统实用程序。我使用以下命令在容器中打开了一个终端:
docker exec -ti container_id bash
我尝试运行tasksel安装
# 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 不确定是否有更好的解决方案。