Docker compose 如何使用docker compose在Azure web app上为容器托管多个站点

Docker compose 如何使用docker compose在Azure web app上为容器托管多个站点,docker-compose,azure-web-app-for-containers,Docker Compose,Azure Web App For Containers,我想使用docker compose文件为我们的Linux托管站点部署多个公共端点 我们已经部署了一个站点,该站点的图像存储在私有ACR上,托管在Azure应用程序服务上(使用Web应用程序容器)。它是通过Azure DevOps部署的,运行良好 但是,我们希望使用同一个站点承载一个额外的组件,即api,这样我们就可以得到以下端点: -主站点 -空气污染指数 如果可能,我们希望避免使用第二个应用程序服务或子域。我们更喜欢的体系结构是使用相同的https证书和端口(443)来承载api。该网站

我想使用docker compose文件为我们的Linux托管站点部署多个公共端点

我们已经部署了一个站点,该站点的图像存储在私有ACR上,托管在Azure应用程序服务上(使用Web应用程序容器)。它是通过Azure DevOps部署的,运行良好

但是,我们希望使用同一个站点承载一个额外的组件,即api,这样我们就可以得到以下端点:

  • -主站点
  • -空气污染指数
如果可能,我们希望避免使用第二个应用程序服务或子域。我们更喜欢的体系结构是使用相同的https证书和端口(443)来承载api。该网站和api共享类似的代码库

在标准应用程序服务世界中,我们可以很容易地将虚拟目录部署到主应用程序,这非常简单

然而,当使用容器时,这个模型似乎更复杂

我们该怎么办?我已经看过这个文档:。然而,在这个例子中,第二个容器是一个私有容器——它不会被公开

我们是否应该使用docker撰写文件(请举例)?或者,是否有一种方法可以使用Azure DevOps任务以我希望的方式部署到虚拟目录。这是我们用于单容器部署的任务:


根据您的要求,Web App For Container也是一种Web App服务,如您所见,它只能将一个容器公开给外部(Internet),其他容器是私有的。因此,如果您想使用multi-containers Web应用程序部署图像以访问多个端点,例如主站点和API站点,那么您的目的就不可能实现


根据Web应用程序只向外部公开一个容器的特性,您可以做些什么来实现您的目的,即在代码中或通过工具(如Nginx)仅创建一个图像并路由到端点。然后将其部署到容器的Web应用程序。只有这样,您才能从一个应用程序服务访问多个端点。

@ossento很高兴这很有用!