如何在Azure Webapps中为容器部署闪亮的应用程序?

时间:2019-06-25 14:03:52

标签: r docker shiny azure-web-app-service azure-webapps

我正在尝试在用于容器的Azure Web应用程序中部署标准R闪亮示例应用程序。我正在使用Azure容器注册表。

我已成功部署了该应用程序,但登录到Webapp时未显示图。似乎闪亮的服务器无法正常工作,但我不知道为什么?

1 个答案:

答案 0 :(得分:1)

以下是一些可能负责的常见问题:

•您的应用程序可能依赖于仅在本地环境中存在的代码或环境变量。确保您的应用程序定义了需要设置的任何环境变量,您的应用程序正确地获取了任何外部代码,并且您的应用程序包中包含所有必需的文件。

•您的应用程序可能依赖于您环境中已安装和加载的程序包,但未包含在应用程序中的library()调用中。确保您的应用程序中有针对应用程序所需的所有包的显式library()调用。

•使用绝对文件路径而不是相对路径。例如,以下两个示例将失败:

Windows: read.csv("C:\myapplication\data\myfile.csv")

Linux or Mac: read.csv("~/myapplication/data/myfile.csv")

相反,您的应用程序应通过相对于应用程序的路径引用数据文件,例如read.csv(“ data / myfile.csv”)。有关更多信息,请参见“存储管理指南”部分。

•试图更改工作目录。这是上一项的推论。工作目录是ui.R和server.R文件所在的目录。如果需要访问子目录中的文件,则应使用相对路径,而不要更改工作目录。例如,以下两个示例将失败:

Windows: setwd("C:\myapplication\data")

Linux or Mac: setwd("~/myapplication/data")

•试图访问Shinyapps.io无法访问的资源(例如,组织防火墙后面的数据库)

•使用需要Windows的软件包

•使用需要访问显示器的软件包(例如,需要Tcl / Tk的软件包)

•当您的应用程序受到多个用户的负载时,可能会失败。发生这种情况可能有多种原因,包括但不限于:

•忘记在加载数据后关闭每个数据库连接(可能会达到连接限制)

•对公共API进行多次长时间调​​用(可能会达到API请求限制)

您可以参考this github repo以获得更多参考。另外,如果您可以发布您的Github仓库,那么我可以帮助您解决问题。现在,我建议您启用日志记录并遵循它。