【发布时间】:2021-08-04 14:17:30
【问题描述】:
首先,我知道有一些类似的问题,我已经尝试了提供的答案中的建议,但没有帮助。
我有一个 ASP.NET Core Web 应用程序作为 Linux 容器运行。该应用程序在本地构建并运行良好。 部署到 Azure 时,应用无法启动,我可以看到以下错误:
- 站点 mytestapp 的容器 mytestapp_0_560a15e8 未在预期时间限制内启动。经过的时间 = 230.4559912 秒
- 容器 mytestapp_0_560a15e8 没有响应端口:8600 上的 HTTP ping,站点启动失败。查看容器日志以进行调试。
- 停止站点 mytestapp,因为它在启动期间失败。 -错误 - 站点 mytestapp 的容器 mytestapp_0_74c5b4f4 未在预期时间限制内启动。 经过的时间 = 1800.0389751 秒
(请注意,我尝试将 WEBSITES_CONTAINER_START_TIME_LIMIT 增加到最大值(在阅读 this 之后),并且在阅读 this 后,我确实将 WEBSITES_PORT 设置设置为使用 8600 而不是默认的 80和this)
我的 dockerfile 暴露了 8600 端口,如下所示:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-alpine
ARG port
WORKDIR /app
EXPOSE ${port:-8600}
它似乎运行正常
- docker run -d -p 8266:8600 --name mytestapp_0_560a15e8 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=8600 -e WEBSITE_SITE_NAME=mytestapp -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=mytestapp.azurewebsites.net -e WEBSITE_INSTANCE_ID=cb8d91c9d2a29a2894b5445bbfe9d306e91eb996b4b7cdada5ff30dc3f2bfdda -e HTTP_LOGGING_ENABLED.-cr.-cr/1 myapp-add:1
我尝试的另一件事是,当我在 dockerfile 中公开端口 80(并在 Azure 中禁用 WEBSITES_PORT 设置)时,应用程序运行正常。
我对 8600 端口的暴露做错了什么,还是只是我必须忍受的限制?
【问题讨论】:
-
您是否尝试使用端口 8600 访问您的容器?点赞 website.com:8600
-
@CSharpRocks 是的,有端口和没有端口
标签: azure docker asp.net-core continuous-integration