安装Rstudio Docker的软件包

时间:2015-04-26 13:12:00

标签: docker rstudio

我正在尝试使用Rstudio docker在DigitalOcean服务器上使用Rstudio。由于我对linux服务器的经验有限,对我来说这是一个挑战。

我可以通过以下方式启动Rstudio并运行:

docker run -dp 8787:8787 -v /root:/home/rstudio/ -e ROOT=TRUE rocker/hadleyverse

但是,我希望能够关闭服务器并在我不使用时将其保存到快照中,但每次我都不需要重新安装软件包。

使用docker documentation on updating an image,我可以创建容器,在该容器上安装包,然后提交更改:

docker run -t -i rocker/hadleyverse /bin/bash
install.r randomForest
exit
docker commit \<CONTAINER_ID> michael91/ms:v1

但是,一旦我进行提交,我就无法正确运行更新的映像。我尝试按如下方式运行它:

docker run -dp 8787:8787 -v /root:/home/rstudio/ -e ROOT=TRUE michael91/ms:v1

当我这样做时,Rstudio服务器没有激活,就像我运行原始摇杆/ hadleyverse版本时一样。我尝试过安装包和不安装包的提交;无论哪种方式,它似乎都不起作用。显然我做错了什么,但我不确定是什么。如果有人能给我一些指导,我真的很感激。

编辑:非常感谢VonC;这就是诀窍。

1 个答案:

答案 0 :(得分:3)

可能是因为新提交的图片丢失了rocker-org/rocker/rstudio/Dockerfile#L58中存在的CMD指令。

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d /supervisord.conf"]

尝试创建一个新的Dockerfile:

FROM michael91/ms:v1
## Add RStudio binaries to PATH
ENV PATH /usr/lib/rstudio-server/bin/:$PATH 
ENV LANG en_US.UTF-8
EXPOSE 8787

CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf"]

并将其构建为michael91/ms:v2

然后在激活RStudio时看v2比v1更好:

docker run -dp 8787:8787 -v /root:/home/rstudio/ -e ROOT=TRUE michael91/ms:v2