gpt4 book ai didi

linux - Dockerfile 构建错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:00 24 4
gpt4 key购买 nike

我正在尝试为 Euler 应用构建一个 dockerfile,以通过“http://www.shinyproxy.io/deploying-apps/”测试 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 安装库行的语法,您会发现它缺少一个右括号

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

语法正确

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 ...显然,在发出 docker build 命令之前,您必须将 euler 放在本地目录中

...现在在你发出上面的 docker run 命令之后,然后从它的内部到容器提示问题

cd /
find . | grep Rprofile.site

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

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

关于linux - Dockerfile 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com