Docker命令需要键盘交互
我正在尝试创建一个用于翻录CD的Docker映像(使用abcde).
不幸的是,“ abcde”软件包引入了一个邮件客户端(不确定哪个客户端),并且apt试图通过询问要配置的邮件连接类型(smarthost / relay等)来进行配置. 当docker运行时,似乎没有从stdin中读取内容,因此我无法重定向到docker进程中. 我试过将–nodeps与apt一起使用(并用apt-get替换apt);不幸的是–nodeps似乎不再是受支持的选项,并返回:
有人建议使用Expect来回答类似的问题,我宁愿避免.这似乎是“难以使用Google”的问题-我什么也找不到. 因此,有没有办法在apt中传递配置的答案,或者防止apt引入邮件客户端,这会更好-我不打算向cddb发送更新. 最佳答案
在Docker容器中安装apt软件包的典型模板如下所示:
使用“ noninteractive”值运行它会删除所有提示.您不想将其设置为ENV,因为这也会影响您在容器内运行的所有交互式命令. 您还希望在完成后清理软件包数据库,以减小层大小,并避免在以后的步骤中重用陈旧的缓存的软件包数据库. no-install-recommends选项将通过仅安装所需的依赖项而不是其他推荐的软件包来减少已安装软件包的数量.这对我来说将根文件系统的大小减少了一半. 如果您需要将非默认配置传递给软件包,请使用debconf.首先运行,您将以交互方式安装在某处,然后输入要保存的选项.安装debconf-utils.然后运行:
查看为该程序包配置的所有选项.然后,您可以在运行安装之前通过管道将这些选项传递到容器中的debconf-set-selections,例如:
或将您的选择保存到要复制到的文件中:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |