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

zes*_*sla 1 r shiny docker shiny-server

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

library(shiny) 
library(dplyr)
df = readRDS('./data/mydata.rds')
Run Code Online (Sandbox Code Playgroud)

最终我需要闪亮的应用程序从外部文件夹加载数据。所以我global.r像这样改变了我的文件:

library(shiny) 
library(dplyr)
df = readRDS('c:/user/document/data/mydata.rds')
Run Code Online (Sandbox Code Playgroud)

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

我似乎应用程序无法连接到 docker 容器之外的文件夹?我是 docker 新手。我糊涂了....

有谁知道如何使闪亮的应用程序连接并从 docker 容器外的文件夹加载数据?来自本地驱动器上的文件夹或共享点文件夹或....?非常感谢!

Pra*_*war 5

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