我想要完成的产品管道是:
目前,我在Dockerfile的末尾运行Rscript
,使用shiny::runApp()
来运行应用程序。我可以将此容器推送到AWS,我可以正常访问该应用程序。然而,Shiny应用程序非常快速地灰化(例如,在不活动时,在浏览器中切换标签,切换窗口)。我的用户经常从使用应用程序切换到检查他们的电子邮件并返回;应用程序在那段时间关闭。
我在R和统计编程方面有很强的背景,但在DevOps方面并不多。我见过很多人展示如何使用Docker存储库(如rocker/shiny
)在Docker容器上安装Shiny服务器。但是,我无法拼凑所有这些教程来解决整个工作流程。我可以通过运行docker run --rm -p 3838:3838 rocker/shiny
让Shiny服务器工作,但无法弄清楚如何(a)让本地应用程序在这上面工作,以及(b)构建使用Shiny服务器运行我的应用程序的容器,以便我可以将这些推送到AWS
如何使用Shiny服务器在本地计算机上对R Shiny应用程序进行Docker化,以便我可以将此容器推送到AWS,以便我的应用程序可以在AWS上运行?
答案 0 :(得分:1)
您的Dockerfile应如下所示:
FROM rocker/shiny
RUN install2.r <package1> <package2> ....
COPY <app/directory> /srv/shiny-server/
在本地构建并运行此图像。如果可行,您可以像部署Shiny图像一样将其部署到AWS。