作为第一步,我正试图在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中包含一些内容吗?
答案 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