Dockerfile 构建错误

Dockerfile Build Error

我正在尝试为 Euler 应用程序构建一个 dockerfile,以通过“http://www.shinyproxy.io/deploying-apps/

测试 ShinyProxy

我正在使用 link 中的 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 安装库行的语法,您会发现它缺少右括号

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

语法正确

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

构建为

docker build --tag r_base .

注意 - 随着 docker 构建的进行,稍后尝试

失败
COPY euler /root/euler

lstat euler: no such file or directory

要解决这个问题,只需注释掉所有 Dockefile 行,并用

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

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

docker run -ti r_base bash

我对 R 一无所知,所以将它留给 reader 来修复 euler COPY ...显然,在发出 docker 构建命令之前,您必须在本地目录中安装 euler

...现在在您发出上述 docker 运行 命令后,然后从其内部到容器提示发出

cd /
find . | grep  Rprofile.site

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

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