R 在容器外部加载数据时,停靠的应用程序不工作

R 在容器外部加载数据时,停靠的应用程序不工作,r,docker,shiny,shiny-server,R,Docker,Shiny,Shiny Server,我有一个简单的闪亮应用程序,它从数据文件夹加载数据并生成一个交互式绘图。我对接了我闪亮的应用程序。我将数据文件夹放在容器中。可在我的本地主机上成功部署停靠的应用程序。 这是我的global.r文件: library(shiny) library(dplyr) df = readRDS('./data/mydata.rds') 最终,我需要闪亮的应用程序从外部文件夹加载数据。因此,我更改了我的global.r文件,如下所示: library(shiny) library(dplyr) df

我有一个简单的闪亮应用程序,它从
数据
文件夹加载数据并生成一个交互式绘图。我对接了我闪亮的应用程序。我将
数据
文件夹放在容器中。可在我的本地主机上成功部署停靠的应用程序。 这是我的
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/
。这个应用程序本身运行得很好。但在我将其对接并尝试在localhost上运行docker映像之后。失败了

我觉得应用程序无法连接到docker容器外的文件夹?我是docker的新手。我很困惑


有人知道我如何让shiny app连接并从docker容器外的文件夹加载数据吗?从本地驱动器上的文件夹或sharepoint文件夹或。。。。?非常感谢

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

另外,我假设您正在尝试运行Windows容器。

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

另外,我假设您正在尝试运行Windows容器。

非常感谢您的帮助!您能再解释一下主机路径和容器路径吗?比如说,我的包含dockerfile和app的文件夹是
c:/username/shinyapp
,我的外部数据文件夹是
c:/username/document/data
。应用程序位于本地主机上。如何指定
@Praveen RewarI在我的回答中更新了docker run命令。另外,我假设您在windows上并且正在使用windows容器。很抱歉,我没有看到您的答案有任何更新。你能用我提供的示例文件夹更新吗?非常感谢@Praveen RewarHey我真的很抱歉我不确定它是如何更新的抱歉,对吗?有非路径,如
C:/username/data
哪一个应该是主机路径?哪一个应该是容器路径@Praveen为你的帮助重温了很多!您能再解释一下主机路径和容器路径吗?比如说,我的包含dockerfile和app的文件夹是
c:/username/shinyapp
,我的外部数据文件夹是
c:/username/document/data
。应用程序位于本地主机上。如何指定
@Praveen RewarI在我的回答中更新了docker run命令。另外,我假设您在windows上并且正在使用windows容器。很抱歉,我没有看到您的答案有任何更新。你能用我提供的示例文件夹更新吗?非常感谢@Praveen RewarHey我真的很抱歉我不确定它是如何更新的抱歉,对吗?有非路径,如
C:/username/data
哪一个应该是主机路径?哪一个应该是容器路径@普拉文·雷瓦尔