"The web server in your custom image may use a port other than 80. You tell Azure about the port that your custom uses by using the WEBSITES_PORT app setting. "
Well, my container uses port 80 and it doesn't work without explicitly specifying it in WEBSITES_PORT. According to the logs, it tries to ping my container on port 443 by default and then just fails:
2019-05-31 04:03:19.158 ERROR - Container xxx_1 for site xxx did not start within expected time limit. Elapsed time = 230.4403647 sec
2019-05-31 04:03:20.574 ERROR - Container xxx_1 didn't respond to HTTP pings on port: 443, failing site start. See container logs for debugging.
Explicitly setting WEBSITES_PORT = 80 instantly helped.
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
@Leon99, Thanks for the feedback! We are taking a look into this and will get back to you soon.
@Leon99, Yes, the automatic port detection detects the port (default 80). Azure Load Balancer has a default idle timeout setting of approximately four minutes (230 seconds), so after that the requests timesout. When we start your container, we'll wait a while for it to start and initialize. We consider the startup to be successful once the container is running and once, we get a response to a ping so that we know it's ready to respond to HTTP traffic. We'll wait 230 seconds for that to happen. If we don't have a successful start within 230 seconds, we'll assume there's a problem and we'll stop the container.
Furthermore, some containers might need more time than that to start, so we allow you to increase that 230 second wait time up to a limit of 1800 seconds. 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). Having said that, if the issue still persists, Could you share the WebApp name directly here or indirectly for further investigation?
@Leon99, Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.
Hi @AjayKumar-MSFT, you've raised a support ticket for me some time ago, it was another problem with the same site - we use it as a test ball for switching to Linux/containers. Just in case - my subscription ID is 6939...1c21
, site name is ...-cont
. Thanks.
I suspect it may be another issue with using MSI+EasyAuth.
@Leon99, Thank you for sharing the details. We are checking on this further and will reach out you shortly.
Update: Working offline with the customer on this issue.
SirichaiLordsin, Your specific question is not very clear, could you please provide more details on the issue or open-up a new GitHub issue on the doc you want to share your feedback.
Will someone help me? I keep getting :( Application Error
.
I can't eliminate the didn't respond to HTTP pings on port: 8080, failing site start
error that crashes the whole thing!
PORT
and/or WEBSITES_PORT
under appSettings
, which is part of properties
, under the resource type Microsoft.Web/sites
. It didn't work..dockerfile
indicating the port to use using the keyword EXPOSE
. It didn't work.node_modules
. It didn't work.WEBSITES_CONTAINER_START_TIME_LIMIT
with the max value 1800
. It didn't work.http20Enabled
and add minTlsVersion
. Plus, I tried different versions of minTlsVersion
. It didn't work.nodeVersion
and linuxFxVersion
. It didn't work.autoHealEnabled
. It didn't work.startup.sh file
that triggers the npm run start
. It didn't work.home
folder and move things in and out. It didn't work.WEBSITES_WEBDEPLOY_USE_SCM
to false. It didn't work.I am running out of ideas of what to do to make this work.
Here is an example of the logs.
@ Alejandro, I see that you have tired several ways to fix the issue, thanks for the detailed response. Apologies for inconvenience.
If you haven't done this already, enable docker logs from under App Service Logs blade and then check.
To highlight further on container start-up process - When your site starts, we run your Docker image and create a Docker container. Your app runs inside of that container, and the file system contains only what is in the Docker image. If your Docker image doesn't install a particular component, it won't be there when your container starts. You can take charge of this by building your own custom image that will install this without manual intervention.
Will someone help me? I keep getting
:( Application Error
.I can't eliminate the
didn't respond to HTTP pings on port: 8080, failing site start
error that crashes the whole thing!* I tried to use `PORT` and/or `WEBSITES_PORT` under `appSettings`, which is part of `properties`, under the resource type `Microsoft.Web/sites`. It didn't work. * I tried to create a `.dockerfile` indicating the port to use using the keyword `EXPOSE`. It didn't work. * I tried to increase the App Service plan from B1 to B3. It didn't work. * I tried to include the whole `node_modules`. It didn't work. * I tried to increase `WEBSITES_CONTAINER_START_TIME_LIMIT` with the max value `1800`. It didn't work. * I tried to turn off `http20Enabled` and add `minTlsVersion`. Plus, I tried different versions of `minTlsVersion`. It didn't work. * I tried to indicate the version of `nodeVersion` and `linuxFxVersion`. It didn't work. * I tried to turn on and off `autoHealEnabled`. It didn't work. * I tried to add a `startup.sh file` that triggers the `npm run start`. It didn't work. * I tried to create a `home` folder and move things in and out. It didn't work. * I tried setting `WEBSITES_WEBDEPLOY_USE_SCM` to false. It didn't work.
I am running out of ideas of what to do to make this work.
Here is an example of the logs.
I found the issue to my problem. In siteConfig
, the remoteDebuggingEnabled
must be disabled.