如果需要交互式安装,如何在docker中安装模块/东西?

如果需要交互式安装,如何在docker中安装模块/东西?,docker,installation,interactive,docker-build,Docker,Installation,Interactive,Docker Build,我已经面临这个问题很长时间了。每当我在构建期间尝试在docker上安装任何需要交互式安装的东西时,构建“挂起”在交互屏幕上。例如,对于一个项目,我需要在docker中安装sddm(是的,是的,我知道我很愚蠢)。现在,构建只是挂起在我应该选择键盘布局的步骤上。我如何处理这些问题 PS:并非所有安装脚本都是可以修改的shell脚本(如apt install sddm-y)。 注:spawn和echo并不总是有用的。因为我在发布第一个答案时没有完全理解这个问题。下面是另一个可能的解决方案: 运行基本

我已经面临这个问题很长时间了。每当我在构建期间尝试在docker上安装任何需要交互式安装的东西时,构建“挂起”在交互屏幕上。例如,对于一个项目,我需要在docker中安装
sddm
(是的,是的,我知道我很愚蠢)。现在,构建只是挂起在我应该选择键盘布局的步骤上。我如何处理这些问题

PS:并非所有安装脚本都是可以修改的shell脚本(如
apt install sddm-y
)。

注:
spawn
echo
并不总是有用的。

因为我在发布第一个答案时没有完全理解这个问题。下面是另一个可能的解决方案:

  • 运行基本容器
  • 使用bash
    docker exec-it mycontainer bash将exec放入容器中
  • 以交互方式安装所需的软件
  • 使用
    docker commit mycontainer mytag从运行的容器创建图像

其实答案很简单。要正确设置ENV变量

ENV DEBIAN_FRONTEND=noninteractive