linux – 如何在Docker构建期间运行命令,这需要一个tty?

我需要在Docker构建期间运行一些需要tty的脚本(Docker在构建期间不提供).在引擎盖下,脚本使用read命令.有了tty,我可以做一些事情(回答是;回声没有)| myscript.sh.

没有它,我会得到一些我不完全理解的奇怪错误.那么在构建期间有没有办法使用这个脚本(假设它不是我的修改?)

编辑:这是一个更明确的错误示例:

FROM ubuntu:14.04
RUN echo yes | read

失败的是:

Step 0 : FROM ubuntu:14.04
 ---> 826544226fdc
Step 1 : RUN echo yes | read
 ---> Running in 4d49fd03b38b
/bin/sh: 1: read: arg count
The command '/bin/sh -c echo yes | read' returned a non-zero code: 2
最佳答案
您不需要tty来将数据提供给脚本.只做一些事情(echo yes; echo no)|你建议的myscript.sh会这样做.另外,请确保在尝试执行文件之前先复制文件.像COPY myscript.sh myscript.sh这样的东西

转载注明原文:linux – 如何在Docker构建期间运行命令,这需要一个tty? - 代码日志