扩展rstudiodocker映像
我搜索了很长一段时间,尝试了许多建议的解决方案,但没有找到解决我问题的最终方案,我希望我能把这个问题说得足够具体,因为我对整个docker的世界都很陌生 好的,下面是:扩展rstudiodocker映像,r,linux,docker,rstudio,R,Linux,Docker,Rstudio,我搜索了很长一段时间,尝试了许多建议的解决方案,但没有找到解决我问题的最终方案,我希望我能把这个问题说得足够具体,因为我对整个docker的世界都很陌生 好的,下面是: docker容器在离线服务器上运行(基于centOS,我认为这无关紧要) 我们在本地(在Windows机器上,也不重要)提取docker映像,然后在脱机服务器上上载并启动它们 对于rstudio(rocker),这有时会带来不便,因为新软件包无法通过install.packages('pkgname')下载,而必须作为tar
- docker容器在离线服务器上运行(基于centOS,我认为这无关紧要)
- 我们在本地(在Windows机器上,也不重要)提取docker映像,然后在脱机服务器上上载并启动它们
- 对于rstudio(rocker),这有时会带来不便,因为新软件包无法通过install.packages('pkgname')下载,而必须作为tar.gz下载并具有所有依赖项,然后上载和安装;这很有效
- 然而,有些软件包还需要安装另一个软件,然后我们的变通方法就停止工作了
- 在特定情况下,我想安装spacyr pcakage,它下载并安装miniconda
- 它在本地工作,我的工作流程将(编辑)
docker拉力摇杆/rstudio
docker容器运行-d-e密码=-p 28787:8787摇臂/rstudio
docker exec-ti一些名字/bin/bash
R
install.packages('spacyr')
library(spacyr)
spacy\u install()
q()
退出
docker停止使用某些\u名称
docker提交一些名称rstudio\u spacyr
- --在这里,我将使用服务器上的
和docker save
docker load
rstudio_spacyrsudo docker run-d-e PASSWORD=…--rm-p-e ROOT=TRUE 38787:8787
库(spacyr)
加载,但是上次运行的Spacyu install()
现在不再显示错误消息:
Finding a python executable with spaCy installed...
Error in set_spacy_python_option(python_executable, virtualenv, condaenv, :
spaCy or language model en is not installed in any of python executables.
但是,如果我进入Rstudio终端并键入sudo ls/root/miniconda/bin
,我会看到所有东西都在那里。因此,我的提交似乎起了作用,但是我没有root访问权限,因为没有sudo的命令会导致ls:cannotaccess'/root/miniconda/bin':权限被拒绝
奇怪的是,如果我用sudor
从Rstudio终端启动R,那么一切都会正常工作。不幸的是,我们需要它在Rstudio中工作,而不仅仅是在R中
我想做的(我知道其中有些事情很可怕):
- 使用chmod更改根文件夹的权限
- 从Rstudio运行
系统(“sudo-i”)
->会导致tty错误消息
- 从Rstudio运行
system('su-')
->结果是su:必须从终端运行
现在我真的不知道如何解决这个问题,我将非常感谢能得到的任何帮助
我怀疑我可能必须在docker提交步骤中更改某些内容?或者我真的应该操纵权限和用户吗?也许我还可以看看miniconda是如何安装的,并将其更改为不在root中?但是怎么做呢
非常感谢您的阅读和评论