在docker(tidyverse)中安装R / RStudio可访问的本地卷

时间:2018-01-24 21:55:21

标签: r docker rstudio-server

关于如何从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()时显示它:

enter image description here

我确定我遗漏了一些基本的东西,但如果有人能告诉我那是什么......谢谢!

2 个答案:

答案 0 :(得分:0)

在这种情况下,R和RStudio的默认工作目录为/home/rstudio,距离/两个级别,我告诉docker挂载文件夹。

问题中的docker run命令后,您可以list.files('/')查看该文件夹。

如果您希望您的文件夹显示在R的默认工作目录中,请像我一样修改docker run,如下所示:

docker run -d -p 8787:8787 -v $HOME/my_folder:/home/rstudio/LOOKATMEEE -e ROOT=TRUE rocker/tidyverse:3.4

那里应该是:

enter image description here

感谢用户alistaire

答案 1 :(得分:0)

此答案适用于子孙后代:)

概念是主机与容器中资源的“匹配”: :

命令结构应如下所示:

docker run -d -e PASSWORD = -p 8787:8787 -v :/ home / rstudio / rocker / rstudio

查看说明here