Azure App Service容器6000端口无HTTP响应,WEBSITES_PORT配置无效求助
Azure App Service容器未响应HTTP ping问题排查
将Docker镜像构建并部署至Azure容器注册表(ACR)与App Service,已在Dockerfile中暴露6000端口,并在应用设置中配置WEBSITES_PORT,但持续收到“容器未响应HTTP ping”错误。应用日志显示已在容器内的127.0.0.1:6000运行,但怀疑端口未发布到主机,且无法修改docker run命令,同时对部分环境变量来源存在疑问,寻求解决办法。
Dockerfile内容
EXPOSE 6000 WORKDIR /webapp/ ENTRYPOINT ["python", "server/main.py"]
站点启动失败日志
2022-12-13T19:44:04.647Z INFO - Waiting for response to warmup request for container xxxx. Elapsed time = 1651.7761754 sec 2022-12-13T19:44:20.040Z INFO - Waiting for response to warmup request for container xxxx. Elapsed time = 1667.1697173 sec 2022-12-13T19:44:22.963Z ERROR - Container xxxx for site yyyy is not running, failing site start 2022-12-13T19:44:22.984Z ERROR - Container xxxx didn't respond to HTTP pings on port: 6000, failing site start. See container logs for debugging. 2022-12-13T19:44:23.002Z INFO - Stopping site yyyy because it failed during startup. /home/LogFiles/2022_12_14_ln1mdlwk000058_default_docker.log (https://yyyy.scm.azurewebsites.net/api/vfs/LogFiles/2022_12_14_aaaa_default_docker.log) 2022-12-14T05:32:00.645431054Z [2022-12-14 05:32:00 +0000] [1] [INFO] Running on http://127.0.0.1:6000 (CTRL + C to quit) 2022-12-14T05:50:20.981722886Z [2022-12-14 05:50:20 +0000] [1] [INFO] Running on http://127.0.0.1:6000 (CTRL + C to quit)
Docker运行日志
2022-12-14T06:33:02.853Z INFO - Pulling image: cccc.azurecr.io/bbbb:tag 2022-12-14T06:33:03.642Z INFO - 94 Pulling from bbbb 2022-12-14T06:33:03.643Z INFO - Digest: sha256:123456 2022-12-14T06:33:03.643Z INFO - Status: Image is up to date for cccc.azurecr.io/bbbb:tag 2022-12-14T06:33:03.646Z INFO - Pull Image successful, Time taken: 0 Minutes and 0 Seconds 2022-12-14T06:33:03.656Z INFO - Starting container for site 2022-12-14T06:33:03.657Z INFO - docker run -d --expose=6000 --name xxxx_0_d7bfb097 -e DOCKER_CUSTOM_IMAGE_NAME=cccc.azurecr.io/bbbb:tag -e PORT=6000 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=6000 -e WEBSITE_SITE_NAME=xxxx -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=xxxx.azurewebsites.net -e WEBSITE_INSTANCE_ID=7210fbf7a062fd0ff739205809c9182b72493680f0a70d46e83abcbde795374a -e HTTP_LOGGING_ENABLED=1 -e NODE_OPTIONS=--require /agents/node/build/src/Loader.js -e JAVA_TOOL_OPTIONS=-javaagent:/agents/java/applicationinsights-agent-codeless.jar -e StartupBootstrapper=Microsoft.ApplicationInsights.StartupBootstrapper -e DOTNET_SHARED_STORE=/agents/core/store/lin -e DOTNET_ADDITIONAL_DEPS=/agents/core/additionalDeps -e WEBSITE_USE_DIAGNOSTIC_SERVER=False cccc.azurecr.io/bbbb:tag
已尝试的解决方案
- 仅设置
PORT=6000 - 仅设置
WEBSITES_PORT=6000 - 同时设置
PORT=6000与WEBSITES_PORT=6000 - 升级App Service计划
- 尝试SSH连接App Service,显示“SSH CONN CLOSE”
疑问
- 我的理解是否有误?应用已在容器内运行(日志显示
Running on http://127.0.0.1:6000),但端口未发布到主机,docker run命令仅含--expose参数无-p参数,导致无法响应HTTP ping? - 由于无法修改docker run命令,该如何解决问题?
NODE_OPTIONS、StartupBootstrapper、DOTNET_SHARED_STORE这类环境变量的来源是什么?
内容的提问来源于stack exchange,提问作者attractive_demon
相关产品推荐
相关产品推荐

