我已经构建了一个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)"]

推荐答案

上述DOCKERFILE中的复制指令COPY ./app/* /home/app/ 有故障,需要替换为:

COPY app/. /home/app

有关更多详细信息,请查看文档:

https://docs.docker.com/engine/reference/builder/

R相关问答推荐

变量计算按R中的行更改

R形式的一维数字线/箱形图样式图表

如何使用R对每组变量进行随机化?

R for循环返回到先前值

使用tidy—select创建一个新的带有mutate的摘要变量

如何在区分不同条件的同时可视化跨时间的连续变量?

在R中,如何将变量(A,B和C)拟合在同一列中,如A和B,以及A和C在同一面板中?

在ggplot中为不同几何体使用不同的 colored颜色 比例

R函数,用于生成伪随机二进制序列,其中同一数字在一行中不出现超过两次

计算满足R中条件的连续列

如何删除仅在数据集顶部和底部包含零的行

在保留列表元素属性的同时替换列表元素

为什么我对圆周率图的蒙特卡罗估计是空的?

防止在更新SHINY中的Reactive Value的部分内容时触发依赖事件

在具有多个响应变量的比例堆叠条形图上方添加总计

注释不会绘制在所有ggplot2面上

通过匹配另一个表(查找表)中的列值来填充数据表,并在另一个变量上进行内插

通过比较来自多个数据框的值和R中的条件来添加新列

将R中对象的CSV数组转换为JSON数组

我有2011-2022年的年度数据.如何计算最低年份和最高年份之间的差额?