Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
shinyAppDir中的Docker错误中部署shinyapp(x)_R_Docker_Shinyapps_Bioconductor - Fatal编程技术网

shinyAppDir中的Docker错误中部署shinyapp(x)

shinyAppDir中的Docker错误中部署shinyapp(x),r,docker,shinyapps,bioconductor,R,Docker,Shinyapps,Bioconductor,我有以下文件 # Base image https://hub.docker.com/u/rocker/ FROM rocker/shiny:latest # system libraries of general use ## install debian packages RUN apt-get update -qq && apt-get -y --no-install-recommends install \ libxml2-dev \ libcairo2

我有以下文件

# Base image https://hub.docker.com/u/rocker/
FROM rocker/shiny:latest

# system libraries of general use
## install debian packages
RUN apt-get update -qq && apt-get -y --no-install-recommends install \
    libxml2-dev \
    libcairo2-dev \
    libsqlite3-dev \
    libmariadbd-dev \
    libpq-dev \
    libssh2-1-dev \
    unixodbc-dev \
    libcurl4-openssl-dev \
    libssl-dev \
    coinor-libcbc-dev coinor-libclp-dev libglpk-dev


## update system libraries
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get clean

# copy necessary files
## app folder
COPY ./app ./app

# Docker inheritance
FROM bioconductor/bioconductor_docker:RELEASE_3_12

RUN apt-get update
    RUN R -e 'BiocManager::install(ask = F)' && R -e 'BiocManager::install(c("rtracklayer", \
    "GenomicAlignments", "Biostrings", "SummarizedExperiment", "Rsamtools", ask = F))'


# install renv & restore packages
RUN Rscript -e 'install.packages("renv")'
RUN Rscript -e 'install.packages("devtools")'
RUN Rscript -e 'install.packages("shiny")'
RUN Rscript -e 'install.packages("shinyBS")'
RUN Rscript -e 'install.packages("ggvis")'
RUN Rscript -e 'install.packages("shinydashboardPlus")'
RUN Rscript -e 'install.packages("shinycssloaders")'
RUN Rscript -e 'install.packages("shinyWidgets")'
RUN Rscript -e 'install.packages("plotly")'
RUN Rscript -e 'install.packages("RSQLite")'
RUN Rscript -e 'install.packages("forecast", dependencies = TRUE)'
RUN Rscript -e 'install.packages("tsutils")'
RUN Rscript -e 'install.packages("readxl")'
RUN Rscript -e 'install.packages("tidyverse")'
RUN Rscript -e 'install.packages("knitr")'
RUN Rscript -e 'install.packages("knitcitations")'
RUN Rscript -e 'install.packages("nycflights13")'
RUN Rscript -e 'install.packages("Matrix")'
RUN Rscript -e 'install.packages("plotly")'
RUN Rscript -e 'install.packages("igraph")'
RUN Rscript -e 'install.packages("ggthemes")'
RUN Rscript -e 'install.packages("evaluate")'
RUN Rscript -e 'install.packages("psych")'
RUN Rscript -e 'install.packages("kableExtra")'
RUN Rscript -e 'install.packages("ggjoy")'
RUN Rscript -e 'install.packages("gtools")'
RUN Rscript -e 'install.packages("gridExtra")'
RUN Rscript -e 'install.packages("cowplot")'
RUN Rscript -e 'install.packages("ggrepel")'
RUN Rscript -e 'install.packages("data.table")'
RUN Rscript -e 'install.packages("stringr")'
RUN Rscript -e 'install.packages("rmarkdown")'

RUN Rscript -e 'install.packages("shinyjqui")'
#RUN Rscript -e 'install.packages("BiocManager")'
#RUN R -e 'BiocManager::install("rtracklayer")'
#RUN R -e 'BiocManager::install("GenomicAlignments")'
#RUN R -e 'BiocManager::install("Biostrings")'
#RUN R -e 'BiocManager::install("SummarizedExperiment")'
#RUN R -e 'BiocManager::install("Rsamtools")'
RUN Rscript -e 'install.packages("V8")'
RUN Rscript -e 'devtools::install_github("ThomasSiegmund/D3TableFilter")'
RUN Rscript -e 'devtools::install_github("leonawicz/apputils")'
RUN Rscript -e 'devtools::install_github("Marlin-Na/trewjb")'

RUN Rscript -e 'devtools::install_github("dirkschumacher/ompr")'
RUN Rscript -e 'devtools::install_github("dirkschumacher/ompr.roi")'

RUN Rscript -e 'install.packages("ROI.plugin.glpk")'

RUN Rscript -e 'install.packages("shinydashboard")'
RUN Rscript -e 'install.packages("dplyr")'
RUN Rscript -e 'install.packages("dashboardthemes")'
RUN Rscript -e 'install.packages("shinyjs")'
RUN Rscript -e 'install.packages("magrittr")'
RUN Rscript -e 'install.packages("DT")'
RUN Rscript -e 'install.packages("rhandsontable")'
RUN Rscript -e 'renv::consent(provided = TRUE)'
RUN Rscript -e 'renv::restore()'



# expose port
EXPOSE 3838

# run app on container start
CMD ["R", "-e", "shiny::runApp('/app', host = '0.0.0.0', port = 3838)"]
当我尝试在不使用Bioconductor软件包的情况下上载时,应用程序正在运行 但当我试图上传为dockfile时,我收到了以下错误

Bioconductor版本3.12(BiocManager 1.30.10),?BiocManager::安装以获取帮助 闪亮::runApp('/app',主机='0.0.0.0',端口=3838) shinyAppDir(x)中出错:路径“/app”处不存在闪亮的应用程序 电话:。。。as.shinny.appbj->as.shinny.appbj.character->shinyAppDir 停止执行

我访问了一些解决方案,但我不了解它们……请我需要您的帮助 您有一个COPY语句,紧接着是FROM语句。在最后一句话之后,你们就再也无法访问上一阶段的内容了。如果需要,可以使用
--from=stagename
将文件从一个阶段复制到下一个阶段,其中使用
from somerepo/someimage将该阶段命名为stagename
。 在这种情况下,这意味着您在第一阶段所做的一切都不再使用或可用。 通常情况下,它的用法如下

FROM baseimage as build
RUN install some dependencies
COPY some sourcefiles
RUN install stuff eg mvn install

FROM runImage as run
COPY --from=build somepath/executable
CMD ["do", "something"]
通过这种方式,您可以使最终映像保持较小的大小,在构建时删除所需的所有内容,但在运行时不删除。 在你的情况下,你必须重新考虑一下,看看在哪个阶段你需要什么


我不知道你的应用程序的细节,但你现在设置它的方式是,你从一个基本映像开始,然后安装debian suff,然后安装系统,然后从一个“空”的新基本映像开始。您可能只想使用一个图像,然后从那里开始,只需要一个来自的指令。然后,如果你想优化它的生产,你总是可以考虑多阶段建设,如果这是值得的,在你的情况下。< / P >非常感谢你的答案。但这是一个困难的概念。因此,我需要2个DockerFile(如建议的文章所述),一个将深入应用程序,另一个将部署bioconductor包?根据您的回答,我尝试在部署应用程序之前移动并发布bioconductor块。该应用程序需要Bioconductor提供的库。一切似乎都在运行……也许这就是解决方案?更改dockerfile中的块?是的,正如我所建议的,将所有内容保持在一个阶段,如果以后需要,您可以优化以获得更小的最终图像。