为Rstudio Docker安装软件包

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

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

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

不过,我希望能够closures服务器,并在不使用服务器时将其保存到快照中,而不必每次都重新安装软件包。

使用Docker文档更新图像 ,我能够创build一个容器,在该容器上安装包,然后提交更改:

 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; 那就是诀窍。

这可能是因为新的提交图像已经丢失了rocker-org/rocker/rstudio/Dockerfile#L58 CMD指令。

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

尝试并创build一个新的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"] 

并将其构build为michael91/ms:v2

然后看到v2在启动RStudio时比v1有更好的效果:

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