在 docker 中挂载 R/RStudio 可访问的本地卷(tidyverse)
Mount local volume accessible to R/RStudio in docker (tidyverse)
有很多关于如何从 docker 容器中处理本地文件夹的小问题,但我找不到与我的完全匹配的问题,所以这里有另一个问题:
如何 运行 一个 docker 容器,并在容器内安装一个本地文件夹以便 R/RStudio 可以访问它?
这听起来有点像: 并使用类似的方法,我可以启动一个容器并安装一个卷:
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 服务器,我在文件窗格中看不到它,当 运行 list.files()
在 R控制台:
我确定我遗漏了一些基本的东西,但如果有人能告诉我那是什么...谢谢!
在这种情况下,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
那里应该是:
感谢用户alistaire
。
这个答案留给子孙后代:)
这个概念是 "match" 来自主机和容器的资源:
:
命令结构应该是这样的:
docker 运行 -d -e 密码= -p 8787:8787 -v
: /home/rstudio/ rocker/rstudio
查看说明here
有很多关于如何从 docker 容器中处理本地文件夹的小问题,但我找不到与我的完全匹配的问题,所以这里有另一个问题:
如何 运行 一个 docker 容器,并在容器内安装一个本地文件夹以便 R/RStudio 可以访问它?
这听起来有点像:
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 服务器,我在文件窗格中看不到它,当 运行 list.files()
在 R控制台:
我确定我遗漏了一些基本的东西,但如果有人能告诉我那是什么...谢谢!
在这种情况下,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
那里应该是:
感谢用户alistaire
。
这个答案留给子孙后代:)
这个概念是 "match" 来自主机和容器的资源: :
命令结构应该是这样的:
docker 运行 -d -e 密码= -p 8787:8787 -v : /home/rstudio/ rocker/rstudio
查看说明here