2016-11-16 91 views
1

我試圖建立一個dockerfile了歐拉應用程序通過「http://www.shinyproxy.io/deploying-apps/Dockerfile生成錯誤

測試ShinyProxy我使用從該鏈接的dockerfile。

在使用命令sudo docker build -t openanalytics/shinyproxy-template .

我得到一個錯誤,而建設正在處理:

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. 

我很好奇,因爲這是完全相同的命令,從dockerfile爲什麼我收到此錯誤。

我能做些什麼來解決這個問題。密切在R的語法

-Thanks

+0

你從該鏈接或您自己使用Dockerfile? – R0MANARMY

+0

我正在使用該鏈接中的dockerfile。 – Techno04335

+2

Docker告訴你哪裏出了問題。當它試圖執行安裝命令時,它得到一個非0的返回代碼,所以安裝失敗。這就是爲什麼構建過程的其餘部分沒有完成。你必須做一些試驗來看看是什麼導致安裝失敗 – R0MANARMY

回答

1

查找安裝庫線,你會看到它缺少一個右括號

我只是手動固定的語法和它正確地建立這一步驟

正確的語法

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

打造爲

docker build --tag r_base . 

注 - 泊塢窗構建推進它,然後失敗後試圖

COPY euler /root/euler 

lstat euler: no such file or directory 

要troubleshot這從以後得罪註釋掉所有Dockefile線,取而代之的底線

CMD ["/bin/bash"] 

然後它會正確構建並允許您登錄到正在運行的容器以進一步排查故障

docker run -ti r_base bash 

我什麼都不知道的R這樣纔有留給讀者來解決歐拉COPY ......看樣子,你必須有歐拉發出泊塢窗build命令

之前,坐在你的本地目錄...現在在發出後上述搬運工運行命令,然後從內部到容器及時發佈

cd/
find . | grep Rprofile.site 

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

看起來不錯所以離開註釋掉其複製Dockerfile

+0

感謝您的有用答案! – Techno04335