【发布时间】:2018-07-04 01:52:13
【问题描述】:
关于如何从 docker 容器中处理本地文件夹,有很多不受欢迎的问题,但我找不到与我的完全匹配的问题,所以这里有另一个问题:
如何运行 docker 容器,并挂载本地文件夹,以便容器内的 R/RStudio 可以访问它?
听起来有点像:mounting local home directory in Rstudio docker?,使用类似的方法,我可以启动一个容器并挂载一个卷:
docker run -d -p 8787:8787 -v $HOME/my_folder:/LOOKATMEEE -e ROOT=TRUE rocker/tidyverse:3.4
如果我在容器中运行 bash shell,我可以看到文件夹:
docker exec -it 38b2d6ca427f bash
> ls
bin dev home lib LOOKATMEEE mnt proc run srv tmp var boot etc init lib64 media opt root sbin sys usr
# ^ there is is!
但是,如果我在localhost:8787 连接到 RStudio 服务器,我不会在文件窗格中看到它,也不会在 R 控制台中运行 list.files() 时显示它:
我确定我缺少一些基本的东西,但如果有人能告诉我那是什么...谢谢!
【问题讨论】:
-
我认为您只需将工作目录设置为您将文件夹复制到的位置,从外观上看就是
setwd('..') -
啊哈,谢谢!是的,它实际上是作为子目录安装的两个级别 - 所以
setwd('../..')或 list.files(../..) 会打开它。我正在寻找的是让它显示在默认的工作目录中,但现在很清楚如何做到这一点 -
您可以将驱动器安装在用户
rstudio(运行RStudio的用户)的主目录中:docker run -d -p 8787:8787 -v $HOME/my_folder:/home/rstudio/LOOKATMEEE -e ROOT=TRUE rocker/tidyverse:3.4应该可以工作 -
@alistaire 如果您想将其发布为答案,我会投赞成票。谢谢
-
@lorenzo -- 是的,我推断的差不多了,谢谢!
标签: r docker rstudio-server