从Dockerfile生成docker时使用STDIN

从Dockerfile生成docker时使用STDIN,docker,dockerfile,Docker,Dockerfile,作为第一步,我正在尝试在docker映像中安装Miniconda,现在我有: FROM ubuntu:14.04 RUN apt-get update && apt-get install wget RUN wget *miniconda download URL* && bash file_downloaded.sh 当我尝试构建图像时,它运行良好,直到它开始连续弹出以下消息: >>>请回答“是”或“否” 在这一点上,我需要停止docker build

作为第一步,我正在尝试在docker映像中安装Miniconda,现在我有:

    FROM ubuntu:14.04
RUN apt-get update && apt-get install wget
RUN wget *miniconda download URL* && bash file_downloaded.sh
当我尝试构建图像时,它运行良好,直到它开始连续弹出以下消息: >>>请回答“是”或“否”
在这一点上,我需要停止docker build。我怎样才能修好它?我应该在dockerfile中包含一些内容吗?

在生成映像期间,您不能附加交互式tty。如果在软件包安装过程中询问“是”或“否”,则在您的情况下,
wget
可以将相应的行替换为
运行apt get update-qq&&apt get install-y wget
。如果是
bash file\u download.sh
,请检查
file\u download.sh
是否接受“yes”或“no”作为命令行参数


如果
file\u downloaded.sh
没有该选项,请从
ubuntu:14.04
image创建一个容器,安装
wget
并在那里手动运行命令。然后,您可以通过提交更改来创建容器的映像,例如:
docker commit

我相信您可以将
-b
标志传递到
miniconda
shell脚本以避免手动应答

Installs Miniconda3 4.0.5

    -b           run install in batch mode (without manual intervention),
                 it is expected the license terms are agreed upon
    -f           no error if install prefix already exists
    -h           print this help message and exit
    -p PREFIX    install prefix, defaults to $PREFIX
诸如此类:

RUN wget http://......-x86_64.sh -O miniconda.sh
RUN chmod +x miniconda.sh \
    && bash ./miniconda.sh -b