Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker never runs on Azure - Waiting for response to warmup request for container

I'm trying to deploy a dockerized app on Azure's App Service. I enter all the fields correctly, my image gets pulled, put I keep getting this error until something times out.

Waiting for response to warmup request for container -<container name > Elapsed time = 154.673506 sec

I did set WEBSITE_PORT 8080 (used by my app)

Here is the dockerfile

FROM google/dart

WORKDIR /app
ADD pubspec.* /app/
RUN pub get --no-precompile
ADD . /app/
RUN pub get --offline --no-precompile

WORKDIR /app
EXPOSE 8080

ENTRYPOINT ["pub", "run", "aqueduct:aqueduct", "serve", "--port", "8080"]

It was working fine. I had it working last night. I wanted to refresh my image so I restarted. Nothing worked. After multiple hours I deleted my app and started again... no luck. Any ideas?

EDIT 1: Tried changing port to 80, no luck (This was the port I was using at first when it was working fine)

RESOLVED (Partially)* I changed everything to port 8000. I realized that Linux and windows did not like having something non-system listening on 80. Therefore I changed everything on 8000 and set the system properties on Azure {WEBSITE_PORT, 8000}. IT now seems to work fine. I don't know if this is an official fix... But it does warmup after 30-ish seconds

like image 598
Etienne Berube Avatar asked Nov 06 '19 06:11

Etienne Berube


2 Answers

You can also try setting WEBSITES_CONTAINER_START_TIME_LIMIT to 1800

enter image description here

like image 177
rpd Avatar answered Sep 25 '22 19:09

rpd


Depending which App Service plan you have, if there is an option ‘always on’, try to set ‘always on’ in the configuration of your app in Azure portal.

enter image description here

If you are using a Premium App service plan, you can set pre-warm number of instances. Try to set that to 2-3 and see if it gets any better..here

I had the same experience as you, but my container was really big since it contained ML model, so at the end I switched to AKS because it performed better..

like image 35
kgalic Avatar answered Sep 25 '22 19:09

kgalic