在Dockerfile中安装`lightdm`会引发交互式键盘布局菜单

lur*_*her 22 ubuntu interactive apt-get docker dockerfile

我有以下Dockerfile:

# Pull from CentOS RPM Build Image
FROM ubuntu

# Update the image
RUN apt-get update -y
RUN apt-get install lightdm -y
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是当我用这个容器构建时docker build -t dumbcontainer .,在某些时候我会得到一个用于选择键盘布局的交互式菜单:

Adding system user `lightdm' (UID 106) ...
Adding new user `lightdm' (UID 106) with group `lightdm' ...
Creating home directory `/var/lib/lightdm' ...
usermod: no changes
usermod: no changes
usermod: no changes
Adding group `nopasswdlogin' (GID 109) ...
Done.
Setting up libnih-dbus1:amd64 (1.0.3-4.3ubuntu1) ...
Setting up mountall (2.54ubuntu1) ...
Setting up perl-modules-5.22 (5.22.1-9) ...
Setting up libperl5.22:amd64 (5.22.1-9) ...
Setting up perl (5.22.1-9) ...
update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode
Setting up libpython2.7-stdlib:amd64 (2.7.11-7ubuntu1) ...
Setting up python2.7 (2.7.11-7ubuntu1) ...
Setting up libpython-stdlib:amd64 (2.7.11-1) ...
Setting up python (2.7.11-1) ...
Setting up libtalloc2:amd64 (2.1.5-2) ...
Setting up libtevent0:amd64 (0.9.28-0ubuntu0.16.04.1) ...
Setting up libroken18-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libasn1-8-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libhcrypto4-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libheimbase1-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libwind0-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libhx509-5-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libkrb5-26-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libheimntlm0-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libgssapi3-heimdal:amd64 (1.7~git20150920+dfsg-4ubuntu1) ...
Setting up libsasl2-modules-db:amd64 (2.1.26.dfsg1-14build1) ...
Setting up libsasl2-2:amd64 (2.1.26.dfsg1-14build1) ...
Setting up libldap-2.4-2:amd64 (2.4.42+dfsg-2ubuntu3.1) ...
Setting up libtdb1:amd64 (1.3.8-2) ...
Setting up libldb1:amd64 (2:1.1.24-1ubuntu3) ...
Setting up libpython2.7:amd64 (2.7.11-7ubuntu1) ...
Setting up python-talloc (2.1.5-2) ...
Setting up samba-libs:amd64 (2:4.3.9+dfsg-0ubuntu0.16.04.2) ...
Setting up libsmbclient:amd64 (2:4.3.9+dfsg-0ubuntu0.16.04.2) ...
Setting up libtxc-dxtn-s2tc0:amd64 (0~git20131104-1.1) ...
update-alternatives: using /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0 to provide /usr/lib/x86_64-linux-gnu/libtxc_dxtn.so (libtxc-dxtn-x86_64-linux-gnu) in auto mode
Setting up bzip2 (1.0.6-8) ...
Setting up distro-info-data (0.28ubuntu0.1) ...
Setting up eject (2.1.5+deb1+cvs20081104-13.1) ...
Setting up libmagic1:amd64 (1:5.25-2ubuntu1) ...
Setting up file (1:5.25-2ubuntu1) ...
Setting up iproute2 (4.3.0-1ubuntu3) ...
Setting up ifupdown (0.8.10ubuntu1) ...
Creating /etc/network/interfaces.
Setting up libisc-export160 (1:9.10.3.dfsg.P4-8ubuntu1) ...
Setting up libdns-export162 (1:9.10.3.dfsg.P4-8ubuntu1) ...
Setting up isc-dhcp-client (4.3.3-5ubuntu12) ...
Setting up isc-dhcp-common (4.3.3-5ubuntu12) ...
Setting up keyboard-configuration (1.108ubuntu15) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
Configuring keyboard-configuration
----------------------------------

The layout of keyboards varies per country, with some countries having multiple
common layouts. Please select the country of origin for the keyboard of this
computer.

  1. Afghani                                     48. Irish
  2. Albanian                                    49. Italian
  3. Amharic                                     50. Japanese
  4. Arabic                                      51. Japanese (PC-98xx Series)
  5. Arabic (Morocco)                            52. Kazakh
  ........
Run Code Online (Sandbox Code Playgroud)

我尝试选择一个选项,但这个过程只是暂停了

有没有什么办法可以让我以交互方式选择一个选项,或者让码头工人在被要求时通过选项?

arh*_*aco 23

这应该工作:

DEBIAN_FRONTEND=noninteractive apt-get install lightdm -y
Run Code Online (Sandbox Code Playgroud)

我在安装CUDA时遇到了同样的问题并修复了它.

  • @arhuaco 你好,你能分享一下你的用于安装 CUDA 的 Dockerfile 吗? (2认同)

ann*_*neb 16

  1. 将工作/ etc/default/keyboard文件复制到包含Dockerfile的目录
  2. 在安装xdm或lightdm之前,将以下行添加到Dockerfile

    COPY ./keyboard/etc/default/keyboard

键盘文件示例:

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT="intl"
XKBOPTIONS=""

# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap.  Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz
BACKSPACE="guess"
Run Code Online (Sandbox Code Playgroud)

  • 有同样的问题......这些步骤对我没有用.坚持使用相同的交互式菜单. (2认同)

ldg*_*ldg 0

尝试在运行安装之前设置 TERM 环境变量: ENV TERM xterm 以便消除该错误,尽管我不确定如何指定键盘选项。