我已经构建了一个shiny 的应用程序,其项目 struct 如下:
->Dockerfile
->install_packages.R
->app (Folder)
->app/global.R
->app/ui.R
->app/server.R
->app/R (Folder)
->app/R/Folder A with further subfolders with server/ui scripts
->app/R/Folder B with further subfolders with server/ui scripts
当我将该脚本作为一个shiny 的应用程序运行时,我会调用位于子文件夹中的global al.R文件,例如
source("R/Folder A/MyScript_UI.R")
当我停靠应用程序(下面的Dockerfile)时,文件夹 struct 消失了(?),我需要通过
source("Folder A/MyScript_UI.R")
这当然非常不方便,因为我需要开发带有源代码的应用程序("R/..."),并且在部署时删除"R/".我做错了什么?
文档文件:
FROM rocker/shiny:latest
RUN apt-get update && apt-get install -y --no-install-recommends \
sudo \
pandoc \
pandoc-citeproc \
libcurl4-gnutls-dev \
libcairo2-dev \
libxt-dev \
libssl-dev \
libssh2-1-dev \
libxml2 \
libglu1-mesa\
&& rm -rf /var/lib/apt/lists/*
COPY install_packages.R /install_packages.R
RUN Rscript /install_packages.R
COPY ./app/* /home/app/
EXPOSE 3838
CMD ["R", "-e", "shiny::runApp('/home/app', host = '0.0.0.0', port = 3838)"]