在Azure Web应用程序中运行Docker容器:未响应端口上的HTTP ping

时间:2019-10-22 00:26:51

标签: azure docker web-applications

我正在尝试在Linux OS中的Azure Web应用程序上运行docker容器。 Web应用程序服务器成功提取了图像,但运行命令失败并显示错误消息:未响应端口9000上的HTTP ping

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.

我的yml文件中有

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

我想念什么?

2 个答案:

答案 0 :(得分:3)

这是Azure Web App的局限性,它仅支持公开端口80和443。因此,当您公开其他端口(例如9000和8080)时,会收到错误消息,它没有响应该端口上的HTTP ping。

答案 1 :(得分:1)

谢谢您的回答,基本上这就是徐旭(Charles Xu)所说的。 为了解决这个问题,我只暴露了Dockerfile中的端口80和9000,最后在Azure App应用程序设置中添加了两个新变量PORT = 9000和WEBSITES_PORT = 80。