【发布时间】:2018-07-19 12:26:26
【问题描述】:
我在 docker 容器中运行 react boilerplate 应用程序,托管在 Azure Web App Containers。
在本地,我使用以下方式启动应用程序:
docker run -p 3000:3000 431e522f8a87
我的 docker 文件如下所示:
FROM node:8.9.3
EXPOSE 3000
RUN mkdir -p src
WORKDIR /src
ADD . /src
RUN yarn install
RUN yarn build
CMD ["yarn", "run", "start:prod"]
应用程序设置
我尝试使用键/值对编辑应用程序设置,但无济于事:WEBSITES_PORT=3000
显然Azure only exposes ports 80 and 443 用于入站流量:
80: 应用服务环境中应用服务计划中运行的应用的入站 HTTP 流量的默认端口。在启用 ILB 的 ASE 上,此端口绑定到 ASE 的 ILB 地址。
443: 应用服务环境中应用服务计划中运行的应用的入站 SSL 流量的默认端口。在启用 ILB 的 ASE 上,此端口绑定到 ASE 的 ILB 地址。
如何在 Azure 应用服务中公开端口 3000?
【问题讨论】:
-
website_port确实是正确的设置。 docs.microsoft.com/en-us/azure/app-service/containers/… -
你可能是对的。文档说你可以,但出于某种原因我不能。嗯...“我的自定义容器侦听端口 80 以外的端口。如何配置我的应用程序以将请求路由到该端口?我们有自动端口检测功能。您还可以指定一个名为 WEBSITES_PORT 的应用程序设置并为其赋值的预期端口号。以前,平台使用 PORT 应用设置。我们计划弃用此应用设置并独占使用 WEBSITES_PORT。"
标签: azure docker web-applications azure-web-app-service