1

我有一个使用两个应用程序设置的闪亮代理服务器。此应用程序之一具有以下代码来访问文件:

volumes = getVolumes()
volumes <- c(Home = fs::path_home(), "R Installation" = R.home(), getVolumes()())

file_selected <- reactive({
 shinyFileChoose(input, "file", roots = volumes, session = session)
 req(input$file)
 if (is.null(input$file))
   return(NULL) 
 #print(parseFilePaths(volumes, input$file)$datapath)
 return(parseFilePaths(volumes, input$file)$datapath)
})   

但是,此映射在客户端不起作用。此应用程序在 docker 中容器化,当我单击 file.selected 按钮时,我只能看到 docker 内的文件。有没有办法在客户端查看文件?

例如,我是在我的计算机上键入服务器地址 xx:xx:xx:xx:8080 以访问我的应用程序的用户。加载时,有什么方法可以(本地)查看我计算机上的文件吗?

我知道fileInput我可以使用浏览器文件列表功能,但我还需要文件的完整路径,据我所知fileInput只存储一个临时文件datapath

谢谢

4

1 回答 1

0

您只能看到 docker 内的文件,因为 docker 容器对您的主机文件系统一无所知。您应该在运行 docker app 时共享卷。

使用-v标签以卷共享运行。

假设您需要访问主机的桌面文件夹。您应该像这样使 Docker 容器中的文件夹可用:

docker run -d -p ExtPORThere:IntPORThere -v yourDesktopPath:aPATHinContainer YOURimageHere

于 2019-06-22T15:23:04.607 回答