当在容器外部加载数据时,dockerized闪亮应用程序不起作用

时间:2019-08-11 06:25:33

标签: r docker shiny shiny-server

我有一个简单的闪亮应用程序,它可以从data文件夹中加载数据并生成交互式绘图。我将我闪亮的应用程式泊坞窗我将data文件夹放入容器中。可以将dockerized应用成功部署到我的本地主机上。 这是我的global.r文件:

library(shiny) 
library(dplyr)
df = readRDS('./data/mydata.rds')

最终,我需要闪亮的应用程序才能从外部文件夹加载数据。因此,我像这样更改了global.r文件:

library(shiny) 
library(dplyr)
df = readRDS('c:/user/document/data/mydata.rds')

在这里,我希望应用程序从本地驱动器上的一个文件夹中加载数据。c:/user/document/data/。该应用程序可以完美运行。但是在我对其进行了docker化并尝试在localhost上运行docker映像之后。失败了!

我似乎该应用程序无法连接到Docker容器外部的文件夹?我是Docker的新手。我很困惑。...

有人知道我如何使闪亮的应用程序连接并从docker容器外部的文件夹中加载数据吗?是从本地驱动器上的文件夹还是sharepoint文件夹还是....?非常感谢!

1 个答案:

答案 0 :(得分:4)

Docker容器无法从外部访问数据。您需要为此使用volumes。卷基本上充当主机和容器的公用存储。因此,在运行Docker容器时,您需要指定主机路径和容器路径,例如docker run -v c:/username/document/data:c:/username/document/data image-name 另外,我假设您正在尝试运行Windows容器。