Dockerfile中的交互式命令 [英] Interactive command in Dockerfile
问题描述
我正在尝试使用 docker build
命令和相应的 Dockerfile
自动创建开发Docker映像。我需要在 RUN
命令中运行的脚本之一希望用户单击以阅读其许可协议。因此有两个问题:
I'm trying to automate a creation of a development Docker image using docker build
command with appropriate Dockerfile
. One of the scripts that I need to run in a RUN
command wants the user to click through and read their license agreement. Thus there are two questions:
- 所有
RUN
命令的输出在哪里在Dockerfile
中? - 与上述命令交互的解决方案是什么?现在,
docker build
命令被卡住,要求用户无限循环输入。
- Where is the output of all the
RUN
commands in aDockerfile
? - What solution is possible to interact with the aforementioned command? Right now the
docker build
command just gets stuck asking user for input in an infinite loop.
推荐答案
在构建过程中,将在终端中显示 RUN
命令的输出。 Docker的构建过程是完全非交互的,因此您必须找到一种自动接受条款的方式(几乎每个软件都允许这样做,请考虑 apt-get install -y ...
)或使用一些shell向导将接受回显到流程或其他任何东西(期望也许?)。
The output of RUN
commands is shown in your terminal during the build. The Docker build process is completely non-interactive, so you must find some way of either auto-accepting the terms (almost every piece of software allows this, think apt-get install -y...
) or using some shell wizardry to echo the acceptance back to the process or whatever (Expect maybe?).
这篇关于Dockerfile中的交互式命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!