2016-07-25 12 views
1

Ich versuche Miniconda in einem Docker Bild als ein erster Schritt zu installieren, jetzt ist es das, was ich habe:Verwenden STDIN während Docker Build von einem Dockerfile

FROM ubuntu:14.04 
RUN apt-get update && apt-get install wget 
RUN wget *miniconda download URL* && bash file_downloaded.sh 

Wenn ich versuche, das Bild zu bauen, es geht gut, bis es beginnt, die folgende Nachricht fortlaufend zu knallen: >>> Bitte antworte 'ja' oder 'nein' An diesem Punkt muss ich Docker Build stoppen. Wie kann ich es reparieren? Sollte ich etwas in die Dockerdatei aufnehmen?

Antwort

0

Ich glaube, Sie -b Flagge zu miniconda Shell-Skript passieren kann manuell zu vermeiden

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 

etwas wie das zu beantworten:

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

Sie können während der Erstellung des Images kein interaktives tty anhängen. Wenn Sie während der Paketinstallation nach "Ja" oder "Nein" fragen, können Sie die entsprechende Zeile in Ihrem Fall durch wget ersetzen, indem Sie RUN apt-get update -qq && apt-get install -y wget eingeben. Wenn es bash file_downloaded.sh ist, überprüfen Sie, ob file_downloaded.sh "Ja" oder "Nein" als Befehlszeilenargument akzeptiert.

Wenn file_downloaded.sh diese Option nicht hat, erstellen Sie einen Container von ubuntu:14.04 Image, installieren Sie wget und führen Sie Ihre Befehle manuell dort. Dann können Sie ein Bild des Containers erstellen, indem Sie Ihre Änderungen wie folgt festschreiben: docker commit <cotainer_id> <image_name>.

Verwandte Themen