在Dockerfile

时间:2016-07-25 19:34:35

标签: 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。我该如何解决?我应该在dockerfile中包含一些内容吗?

2 个答案:

答案 0 :(得分:1)

在图像构建期间无法附加交互式tty。如果在软件包安装期间要求“是”或“否”,在您的情况下为wget,则可以使用RUN apt-get update -qq && apt-get install -y wget替换相应的行。如果是bash file_downloaded.sh,请检查file_downloaded.sh是否接受'是'或'否'作为命令行参数。

如果file_downloaded.sh没有该选项,请从ubuntu:14.04图片创建一个容器,安装wget并在那里手动运行您的命令。然后,您可以通过提交更改来制作容器的图像,例如:docker commit <cotainer_id> <image_name>

答案 1 :(得分:0)

我相信您可以将-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