Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running a docker container in Azure web app: didn't respond to HTTP pings on port

I'm trying to run a docker container on Azure web app in linux os. The web app server is sucessfuly pulling the image but fails on the run command with the error message: didn't respond to HTTP pings on port: 9000

2019-10-22 00:15:12.671 INFO  - Pulling image: finalproductionimg.azurecr.io/finalproductionimg:latest
2019-10-22 00:15:12.877 INFO  - latest Pulling from finalproductionimg
2019-10-22 00:15:12.878 INFO  -  Digest: sha256:5681b69c53e29b42d9c05c8ccf2e849ae19732ee671c5aae388a906c7bb23208
2019-10-22 00:15:12.878 INFO  -  Status: Image is up to date for finalproductionimg.azurecr.io/finalproductionimg:latest
2019-10-22 00:15:12.883 INFO  - Pull Image successful, Time taken: 0 Minutes and 0 Seconds
2019-10-22 00:15:12.891 INFO  - Starting container for site
2019-10-22 00:15:12.891 INFO  - docker run -d -p 26730:9000 --name brisk-dokerprod_0_3f1f06b3 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=Brisk-dokerprod -e WEBSITE_AUTH_ENABLED=False -e PORT=9000 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=brisk-dokerprod.azurewebsites.net -e WEBSITE_INSTANCE_ID=af378d6c8fb1477b346afda52f53f46802b9685f672a1a6b1e1dfb51b076f0a4 -e HTTP_LOGGING_ENABLED=1 finalproductionimg.azurecr.io/finalproductionimg:latest version: '3' services: web-prod: build: context: . dockerfile: Dockerfile-prod ports: - "80" - "9000" - "8080:9000" 

2019-10-22 00:15:13.492 INFO  - Initiating warmup request to container brisk-dokerprod_0_3f1f06b3 for site brisk-dokerprod
2019-10-22 00:15:13.640 ERROR - Container brisk-dokerprod_0_3f1f06b3 for site brisk-dokerprod has exited, failing site start
2019-10-22 00:15:13.642 ERROR - Container brisk-dokerprod_0_3f1f06b3 didn't respond to HTTP pings on port: 9000, failing site start. See container logs for debugging.

In my yml file I have

ports:
      - "80"
      - "9000"
      - "8080:9000"

What am I missing?

like image 326
beerzy Avatar asked Oct 22 '19 00:10

beerzy


People also ask

Does Azure App Service use Docker?

Azure App Service uses the Docker container technology to host both built-in images and custom images. To see a list of built-in images, run the Azure CLI command, 'az webapp list-runtimes --os linux'.

How do I specify port in my Linux container?

How do I specify port in my Linux container? If you select a language/framework version for a Linux app, a predefined container is selected for you. To point your app code to the right port, use the PORT environment variable. You have full control over the container.


1 Answers

This is a limitation of the Azure Web App, it only supports to expose the port 80 and 443. So when you want to expose other ports such as 9000 and 8080, then you got the error that it didn't respond to HTTP pings on that port.

like image 160
Charles Xu Avatar answered Oct 19 '22 20:10

Charles Xu