使用多容器部署的Azure App Service暴露错误的服务

pdsfdshx  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(123)

我已经将一个多容器应用部署到Azure App Service,并使用一个简约的docker-compose文件:

version: '3'
 
services:
  backend:
    image: myregistry.azurecr.io/backend:latest
    ports:
      - "3000:3000"

  frontend:
    image: myregistry.azurecr.io/frontend:latest
    ports:
      - "4173:4173"

按照这里的说明,并考虑如何指定非标准(非80/8080)端口的issue,我将WEBSITES_PORT值设置为前端端口,即4173.
部署是成功的,但是暴露的不是前端,而是后端(在这种情况下,Python fastapi swagger)。
为什么会这样,以及如何配置部署以显示前端,有什么想法吗?

agyaoht7

agyaoht71#

您是否尝试使用4173以外的端口?此端口似乎是classified as reserved,因此Azure可能正在阻止分配。

qhhrdooz

qhhrdooz2#

我已经能够解决这个问题,按照这里的指示:

我如何知道哪个容器可以通过互联网访问?

  • 只能打开一个容器进行访问
  • 仅端口80和8080可访问(暴露端口)

以下是确定哪个容器是可访问的规则-按优先级顺序排列:

  • 应用程序设置WEBSITES_WEB_CONTAINER_NAME设置为容器名称
  • 第一容器限定端口80或8080
  • 如果以上两个都不为真,则文件中定义的第一个容器将是可访问的(暴露的)

更具体地说,我切换到使用端口8080作为前端,并更改了docker-compose文件中的顺序,使前端服务位于顶部。

相关问题