我想要完成的产品管道是:
目前,我在Dockerfile的末尾运行
Rscript
,使用shiny::runApp()
运行该应用程序。我可以将该容器推送到AWS,也可以正常访问该应用程序。但是,Shiny应用程序会很快变灰(例如,处于不 Activity 状态,切换浏览器中的标签,切换窗口)。我的用户经常从使用应用程序切换为查看电子邮件并返回。在那段时间,应用会关闭。我在R和统计编程方面有很深的背景,但是在DevOps方面却不多。我见过很多人展示了如何使用Dockert仓库(如
rocker/shiny
)在Docker容器上安装Shiny服务器。但是,我无法将所有这些教程拼凑起来以解决我的整个工作流程。我可以通过运行docker run --rm -p 3838:3838 rocker/shiny
来使Shiny服务器工作,但无法弄清楚如何(a)使本地应用在该应用上工作,以及(b)使用Shiny服务器构建运行我的应用的容器,以便将它们推送到AWS。如何使用Shiny服务器在本地计算机上对R Shiny应用程序进行Docker化,以便可以将此容器推送到AWS,以便我的应用程序可以在AWS上运行?
最佳答案
您的Dockerfile应该如下所示:
FROM rocker/shiny
RUN install2.r <package1> <package2> ....
COPY <app/directory> /srv/shiny-server/
在本地生成并运行此镜像。如果可行,您可以按照部署Shiny镜像的相同方式将其部署到AWS。
关于r - 如何使用Shiny服务器在本地计算机上对R Shiny应用程序进行Docker化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49736393/