我在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 ?
答案 0 :(得分:7)
用户4c74356b41是正确的。
在应用程序设置中,您需要设置键/值对 WEBSITES_PORT 。
由于某种原因,它没有处理这个图像,但是我通过另一个例子并通过命令行完成了所有工作,并且工作正常。