Dockerfile构建错误

时间:2016-11-16 17:38:41

标签: linux docker dockerfile shinyproxy

我正在尝试为Euler App构建一个dockerfile来测试ShinyProxy,通过" http://www.shinyproxy.io/deploying-apps/"

我正在使用该链接中的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完全相同的命令。

我该怎么做才能解决这个问题。

-Thanks

1 个答案:

答案 0 :(得分:1)

仔细查看R安装库行的语法,您将看到它缺少右括号

我只是手动修复了该语法并正确构建了该步骤

正确语法

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

将其构建为

docker build --tag r_base .

注意 - 随着docker build的进展,它随后尝试

失败
COPY euler /root/euler

lstat euler: no such file or directory

为了麻烦这只是注释掉所有的Dockefile线以免冒犯并用

替换底线
CMD ["/bin/bash"]

然后它将正确构建并允许您登录到正在运行的容器以进一步进行故障排除

docker run -ti r_base bash

我对R一无所知所以会留给读者来修复euler COPY ...显然你必须让uuler坐在你的本地目录中才能发出docker build命令

...现在发出上面的docker run命令后,从内部发送到容器提示符

cd /
find . | grep  Rprofile.site

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

看起来不错所以请在Dockerfile中注释掉它的COPY