我使用docker-compose
.
转到我闪亮的应用程序时,我遇到了错误:
状态码: 500 消息: 无法启动容器
在检查错误消息时,我看到:
启动容器进程导致 \"exec: \\"R\\": executable file not found in $PATH\": unknown"}
我不确定它是什么意思。如果有帮助,我的 Shiny Dockerfile 的最后几行是:
EXPOSE 3838
CMD ["R", "-e", "shiny::runApp('/root/app')"]
在我application.yml
的container-cmd
行是
container-cmd: ["R", "-e", "shiny::runApp('/root/app')"]
你看到任何错误的拼写吗?
另外作为一个仅供参考,但不知道这是否有用的信息,我注意到: - 我的文件夹中没有 R 文件夹:/usr/lib
- 并且/usr/bin/
. 我不明白为什么。
谢谢你的帮助 !
编辑1:
我刚刚安装了 R,现在我在/usr/bin/
文件夹中看到了 R,但仍然没有任何内容,/usr/lib
并且仍然有相同的错误消息。
编辑2:
我不明白一件事,我看到 R 包被安装在/usr/local/lib/R
BUT
完成后我在此文件夹中看不到任何docker-compose up
内容:
$ cd /usr/local/lib
$ ls
$
编辑3:
根据要求,我在我的RStudio容器的 Dockerfile 和Shiny容器的 Dockerfile 下方附加:
RStudio Docker 文件:
FROM rocker/tidyverse:3.6.1
## Create directories
RUN mkdir -p /rstudio
RUN mkdir -p /rscripts
RUN R -e "install.packages(c('rvest','shiny','DT', 'digest', 'RCurl', 'caTools', 'bitops', 'httr', 'curl', 'stringr', 'mailR', 'xlsx', 'knitr', 'kableExtra' ,'rmarkdown', 'data.table', 'RSelenium'), repos = 'http://cran.us.r-project.org')"
闪亮的 Dockerfile:
FROM rocker/shiny:3.5.1
RUN apt-get update && apt-get install libcurl4-openssl-dev libv8-3.14-dev -y &&\
mkdir -p /var/lib/shiny-server/bookmarks/shiny &&\
mkdir -p /root/app
# Download and install library
RUN R -e "install.packages(c('mailR', 'shinydashboard', 'shinyjs', 'V8', 'DT', 'shiny', 'rvest', 'dplyr', 'htmltools', 'promises', 'jsonlite', 'data.table', 'rlang', 'xml2', 'digest', 'XML','rmarkdown'))"
# copy the app to the image
COPY app /root/app
COPY Rprofile.site /usr/local/lib/R/etc
# make all app files readable (solves issue when dev in Windows, but building in Ubuntu)
RUN chmod -R 755 /root/app
RUN chmod -R 755 /usr/local/lib/R/etc
EXPOSE 3838
CMD ["R", "-e", "shiny::runApp('/root/app')"]