Docker、EC2和Rstudio

Docker、EC2和Rstudio,docker,rstudio,Docker,Rstudio,我主要从EC2实例运行Rstudio服务器。但是,我也希望在工作时从集群运行它。他们告诉我我可以用rstudio设置docker并使其运行。现在,我还希望EC2和work上的Rstudios都有相同的软件包和版本。你知道我该怎么做吗?我可以让两个版本都指向dropbox文件夹吗?在这种情况下,如何装载dropbox文件夹?您应该在dockerhub或aws ec2容器服务(ecs)上设置docker存储库。ECS是一种托管服务,允许您轻松地将docker容器部署到运行ECS代理的1个或多个ec2

我主要从EC2实例运行Rstudio服务器。但是,我也希望在工作时从集群运行它。他们告诉我我可以用rstudio设置docker并使其运行。现在,我还希望EC2和work上的Rstudios都有相同的软件包和版本。你知道我该怎么做吗?我可以让两个版本都指向dropbox文件夹吗?在这种情况下,如何装载dropbox文件夹?

您应该在dockerhub或aws ec2容器服务(ecs)上设置docker存储库。ECS是一种托管服务,允许您轻松地将docker容器部署到运行ECS代理的1个或多个ec2实例的集群上(帮助该集群与ECS协同工作的aws程序)。Dockerfile应该在映像生成时安装您需要的所有软件包。我建议参考aws ecs文档,其中包括一个演练,让您能够快速地进行(假设您了解docker的工作原理):

然后,您应该始终从docker映像运行,无论您是在本地还是远程计算机上运行。docker的一个关键优势是,无论主机环境如何,它都可以使应用程序的环境保持不变(假设您使用相同的映像构建)


我不知道为什么不总是在ECS上运行(我们有多个分析师使用RStudio,ECS允许我们为每个分析师提供cpu/内存资源,并根据需要自动缩放)。您可以在EC2上安装docker并以这种方式进行管理,但只需安装ecs代理(或者使用预安装的ecs优化EC2 ami,上面的文档将详细介绍如何配置它),并使用ecs启动rstudio服务,可能会更容易。

但是这些库会经常更新(比rstudio更新的频率要高得多)在工作中,我经常发现自己在Rstudio中以交互方式安装新的库。据我所知,这些库不会停留在docker的形象上。出于可复制研究和软件版本控制的利益,我强烈建议不要随意更新版本。您可以考虑使用一个R包,比如检查点(VNITET:),当脚本运行时,只允许R安装包。