1

我做了一个简单的shinyapp。mydata.rds它读取从我本地驱动器上的文件夹调用的数据集。

我本地驱动器上的数据每天都在更新

该应用程序在我的 rstudio 上作为独立应用程序完美运行。下面是global.r文件。

## global.r
 library(shiny)
 data = readRDS("/path_to_local_folder/mydata.rds")  

然后我成功构建了一个shinyapp docker镜像。

我运行了如下所示的 docker 图像。那没起效。

docker run --rm  -p 80:80 myshinyapp

所以我尝试挂载本地文件夹并像这样运行docker镜像”

docker run --rm -v /path_to_local_folder/:/srv/shiny-server/  -p 80:80 myshinyapp

我得到的localhost是:

Index of/

 mydata.rds

有谁知道为什么在上述两种情况下都会发生这种情况?安装音量时我做错了什么?

我想要做的是将我的 dockerized shinyapp 连接到一些每天都在更新的本地数据文件夹。我想要的是当 docker 启动一个容器时,它会从主机上的数据文件夹中加载数据。(我实际上是在尝试将我的应用程序托管在带有 shinyproxy 服务器的主机上)。

非常感谢有关我如何实现这一目标的说明。

注意:当我简单地将我的应用程序和数据打包到 docker 映像中并运行它时。该应用程序运行良好。我的应用程序似乎没有任何问题。

4

1 回答 1

0

当您将本地文件夹挂载到容器时,文件和文件夹/srv/shiny-server/将被隐藏,直到您删除挂载。

因此,您不必在通过docker cp命令启动容器后挂载卷和复制文件,或修改您的 shinyapp 映像的 Dockerfile 以将您需要的文件从主机复制到映像,以便在启动容器后找到它。

或按照此处的说明进行操作。

于 2019-08-20T04:53:17.550 回答