Container didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging.

Noa 76 Reputation points
2020-11-19T17:39:01.323+00:00

I have deployed an App Service via Github Workers with node.js now i have the problem, that the node.js Application is running, but the Ports is not exposing. Can everyone give me an advice or is it possible to deactivate HTTP pings? Logs: 2020-11-19T16:19:27.439Z INFO - Initiating warmup request to container X for site X 2020-11-19T16:19:43.733Z INFO - Waiting for response to warmup request for container X. Elapsed time = 16.2938836 sec 2020-11-19T16:23:27.969Z ERROR - Container Xf for site X did not start within expected time limit. Elapsed time = 240.5298169 sec 2020-11-19T16:23:27.970Z ERROR - Container X didn't respond to HTTP pings on port: 8080, failing site start. See container logs for debugging. 2020-11-19T16:23:27.980Z INFO - Stopping site X because it failed during startup. Kind regards, Noah

Azure App Service
Azure App Service
Azure App Service is a service used to create and deploy scalable, mission-critical web apps.
8,977 questions
{count} votes

20 answers

Sort by: Most helpful
  1. neas 121 Reputation points
    2022-04-22T18:48:36.287+00:00

    I can confirm that this is really a nightmare. I have followed the tutorial here: https://learn.microsoft.com/en-us/azure/developer/javascript/tutorial/tutorial-vscode-docker-node/tutorial-vscode-docker-node-04 with my custom node js app without success. Also the WEBSITES_PORT setting is not helping at all. Why do I have to waste more than a whole day for deploying an app in Azure?? And it's still not working!

    17 people found this answer helpful.

  2. marc 101 Reputation points
    2021-12-17T10:01:52.527+00:00

    I have switched to Aws instead, all the port configuration is as simple as doing network inbound rules, instead of playing around with these unexplained WESITE_PORT

    10 people found this answer helpful.

  3. Wahbi, Hicham 31 Reputation points
    2021-12-19T13:02:56.097+00:00

    deploying a node app to app service is really a nightmare. I have the same symptoms above and have been trying to resolve for the last couple of weeks with no success.

    6 people found this answer helpful.

  4. SnehaAgrawal-MSFT 22,706 Reputation points Moderator
    2020-11-20T08:12:39.197+00:00

    Thanks for asking question! You may want to know that If your container takes a long time to start you can increase the start time limit. The default time is 230 seconds for starting the container. To configure that, add an app setting called WEBSITES_CONTAINER_START_TIME_LIMIT and set it to the number of seconds you would like for us to wait for your container to start (up to a maximum of 1800) as shown in the image below:

    41422-demo5.png

    Also please ensure that your container must respond to an HTTP ping and In order for us to consider a container to be successfully started, the container must start and it must respond to an HTTP ping. If the container starts but does not respond to a ping, we will eventually log an event in the Docker log saying that it didn't start.

    To resolve this.

    1. Use the EXPOSE instruction in your Dockerfile to expose port 3000.
    2. Use the WEBSITES_PORT app setting with a value of "3000" to expose that port.

    Reference: https://techcommunity.microsoft.com/t5/apps-on-azure/things-you-should-know-web-apps-and-linux/ba-p/392472

    3 people found this answer helpful.

  5. Kevin Rizzo 15 Reputation points
    2023-12-14T14:42:04.28+00:00

    I saw this problem as well, and the issue turned out to be me building images locally on my Mac M1. In App Service, containers are likely using the x64 architecture instead of ARM. I fixed the issue by forcing docker to build for linux-amd64 (--platform linux-amd64) when pushing to my remote registry. After that, I was able to start up fine.

    That being said, the UX could be better here. It's fairly trivial to get the architecture of an image in a registry. App Service could alert you that it was built using the incorrect architecture for a better debugging experience.

    Hope this helps others!

    3 people found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.