我想使用 docker compose 文件为我们的 Linux 托管站点部署多个公共端点。
我们已经部署了一个站点,该站点将图像存储在私有 ACR 上,并托管在 Azure App Service 上(使用 Web App for Containers)。它通过 Azure DevOps 部署并且运行良好。
然而,我们希望使用同一个站点来托管一个额外的组件,一个 api,以便我们最终得到这些端点:
- https://www.example.com - 主站点
- https://www.example.com/api - api
如果可能,我们希望避免使用第二个应用服务或子域。我们更喜欢的架构是使用相同的 https 证书和端口(443)来托管 api。该网站和 api 共享一个相似的代码库。
在标准的应用服务世界中,我们可以很容易地为主应用部署一个虚拟目录,这很简单。
这个模型虽然在使用容器时似乎更复杂。
我们该怎么做呢?我已经看过这个文档:https ://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-multi-container-app 。然而,在这个例子中,第二个容器是一个私有容器——它不会被暴露。
我们是否应该使用 docker compose 文件(请提供示例)?或者,有没有一种方法可以使用 Azure DevOps 任务以我想要的方式部署到虚拟目录。这是我们用于单容器部署的任务: