首页 > 解决方案 > 如果需要交互式安装,如何在 docker 中安装模块/东西?

问题描述

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

PS:并不是所有的安装脚本都是可以修改的shell脚本(比如apt install sddm -y)。
PS:spawn并不echo总是有帮助。

标签: dockerinstallationinteractivedocker-build

解决方案


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

  • 运行基础容器
  • 用 bash 执行到容器中docker exec -it mycontainer bash
  • 以交互方式安装所需软件
  • 从正在运行的容器创建图像docker commit mycontainer mytag

推荐阅读