Docker容器中的asp.net核心与Azure应用服务

我们显然现在可以将我们的asp.net核心应用程序部署到docker容器中。 我查阅了关于“如何做”的文档,但却找不到一些关于“为什么要做”的正确解释?

任何人都可以解释为什么会select部署的asp.net核心应用程序docker容器,而不是azure色的应用程序服务?

任何人都可以解释为什么会select部署的asp.net核心应用程序docker容器,而不是azure色的应用程序服务?

所有Azure Web App都在称为沙箱的安全环境中运行。 沙箱机制旨在确保运行在机器上的每个应用程序将具有最低的服务保证水平; 此外,由沙箱执行的运行时限制可以保护应用程序免受可能在同一台计算机上运行的其他资源密集型应用程序的不利影响。

由于所有Azure Web App都在相同types的沙箱中运行。 Azure Web App提供了与部署和监视Web应用程序相关的多种function。 例如日志logging,远程debugging,Kudu,站点扩展等。

由于所有Azure Web App都在相同types的沙箱中运行,因此沙箱限制将影响您的Web应用程序。

一般的沙盒限制

如果您的Web应用程序使用的API或函数不受沙箱的限制,则可以selectAzure Web App来使用Azure Web App提供的function/工具。 否则,你可以selectdock容器。

Docker并没有消除将您的应用程序部署到云提供商(如azure色)的需求。 云提供商为您提供部署应用程序的基础架构或平台。 如果您没有自己的服务器来部署您的应用程序,则无需使用泊坞窗即可。

Docker使应用程序的部署更容易预测,因为它在应用程序和运行应用程序的机器之间提供了很多隔离。

现在使用Docker和云平台来部署应用程序是非常stream行的。 当你使用Docker的时候,人们会相信相同的应用程序映像将能够在不同的平台上运行,因此你将能够在不需要修改你的应用程序的情况下在不同的提供者(甚至私人服务器)之间切换。

明显的理由,以泊坞窗图片优于应用服务将是可移植性。 如果您想从Azure切换到其他云平台,则只需将预configuration的Docker镜像部署到其他平台的容器pipe理服务中,它就可以在那里工作,而如果您想将应用从应用服务移动到某些同等的服务提供在其他一些云平台上,你需要花时间学习如何工作,然后在新的地方重新configuration。