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