2016-11-16 8 views
1

Ich versuche, eine dockerfile für eine Euler App zu bauen.Dockerfile Fehler beim Aufbau

Bei Verwendung des Befehls sudo docker build -t openanalytics/shinyproxy-template .

ich einen Fehler während der Build ist, dass die Verarbeitung:

Error: unexpected end of input 
Execution halted 
The command '/bin/sh -c R -e "install.packages(c('shiny', 'rmarkdown', repos='https://cloud.r-project.org/')" ' returned a non-zero code: 1. 

Ich bin neugierig, warum ich diese Störung erhalten, da dies genau der gleiche Befehl aus dem dockerfile ist .

Was kann ich tun, um dies zu beheben?

-Danke

+0

verwenden Sie die Dockerfile von diesem Link oder Ihre eigenen? – R0MANARMY

+0

Ich verwende die Dockerdatei von diesem Link. – Techno04335

+2

Docker sagt Ihnen, was schief gelaufen ist. Beim Versuch, den Installationsbefehl auszuführen, wurde ein Rückgabecode ungleich 0 zurückgegeben, sodass die Installation fehlgeschlagen ist. Deshalb wurde der Rest des Build-Prozesses nicht beendet. Sie müssen ein wenig experimentieren, um zu sehen, was die Installation fehlgeschlagen hat – R0MANARMY

Antwort

1

Schauen Sie genau auf die Syntax der R-Bibliothek Zeile installieren und Sie werden sehen, seine eine schließende Klammer fehlt

ich nur manuell festgelegt, dass Syntax und es baut richtig, dass der Schritt

korrekte Syntax

RUN R -e "install.packages(c('shiny', 'rmarkdown'), repos='https://cloud.r-project.org/')" 

bauen es als

docker build --tag r_base . 

HINWEIS - als Docker Build schreitet es fehlschlägt, dann später zu

versucht
COPY euler /root/euler 

lstat euler: no such file or directory 

Um dies zu Störungsbehebung nur alle Dockefile Linien Kommentar aus weiter zu beleidigen und unteren Zeile ersetzen mit

CMD ["/bin/bash"] 

dann wird es korrekt erstellt und können Sie sich in laufenden Container zur weiteren Fehlerbehebung

anmelden
docker run -ti r_base bash 

Ich weiß nichts von R, so dass es dem Leser überlassen wird euler COPY zu beheben ... offenbar müssen Sie euler sitzen in Ihrem lokalen Verzeichnis vor dem Ausgeben des Docker Build Befehl

... haben jetzt nachdem Sie oben docker Lauf Befehl dann von seinem internen Behälter prompt Ausgabe

cd/
find . | grep Rprofile.site 

./usr/lib/R/etc/Rprofile.site 

, die so gut aussieht

seine Kopie in Dockerfile verlassen kommentiert out
+0

Danke für die hilfreiche Antwort! – Techno04335

Verwandte Themen