簡體   English   中英

Azure 應用服務容器不斷重啟

[英]Azure App Service Container keeps on restarting

我創建了一個運行 docker 容器的 azure 應用服務。

但容器似乎一直在重新啟動:2020-01-09 07:21:56.543 INFO - 站點 xxx 的容器 XXX 已成功初始化並准備好處理請求。 2020-01-09 07:22:01.559 錯誤 - xxx 站點 xxx 的容器不健康,停止站點。 2020-01-09 07:22:01.559 信息 - 停止站點 xxx,因為它不健康。

由於它是一個資源密集型應用程序,因此服務可能無法快速響應。

我已經嘗試添加以下設置:

{ "name": "CONTAINER_AVAILABILITY_CHECK_MODE", "value": "Off", "slotSetting": false }

但沒有效果。

根據你使用的鏡像apache/drill:1.17.0的Dockerfile,沒有暴露8047端口對外訪問。 並且有兩種方法可以公開此處顯示的端口,然后您可以根據需要訪問外部。 所以第二種方式適合這種情況,當你設置環境變量WEBSITES_PORT值為8047 ,就可以訪問外部的web app了。 這是在我這邊工作正常的屏幕截圖:

在此處輸入圖片說明

更新:

似乎圖像需要交互模式,運行它docker run -i --name drill-1.17.0 -p 8047:8047 --detach -t apache/drill:1.17.0 /bin/bash命令應該是docker run -i --name drill-1.17.0 -p 8047:8047 --detach -t apache/drill:1.17.0 /bin/bash或其他具有交互模式的類似命令。 或者它會在幾分鍾后停止。 但是你不能改變在Web App中運行圖像的命令,所以你也不能對圖像使用Web App中的交互模式。

因此,解決方案是您需要創建一個自定義映像,以使其基於映像apache/drill:1.17.0保持運行狀態。 然后它會工作得很好。

是的,我做了第一件事,訪問它不是問題。

1 分鍾后它重新啟動,因為它不健康:

2020-01-09 07:25:46.975 INFO - 向容器drillap_0_45d0e5be 發起預熱請求以獲取站點drillap 2020-01-09 07:26:02.184 INFO - 等待對容器drillap_05_45d 的預熱請求的響應已用時間 = 15.2089367 秒 2020-01-09 07:26:16.502 信息 - 用於站點鑽取的容器鑽取_0_45d0e5be 已成功初始化並准備好為請求提供服務。 2020-01-09 07:26:21.523 錯誤-drillap_0_45d0e5be 站點drillap 的容器不健康,正在停止站點。 2020-01-09 07:26:21.524 信息 - 停止現場鑽取,因為它不健康。 2020-01-09 07:36:30.680 INFO - 從 Docker hub 拉取鏡像:apache/drill:1.17.0 2020-01-09 07:36:31.576 INFO - 1.17.0 從 apache/drill 拉取 2020-01 07:36:31.577 INFO - 文摘:SHA256:0bd358f1c523787f4d8f6e69d1119e10effceb0cf84135dbeb23184244cb361b 2020年1月9日07:36:31.578 INFO - 狀態:圖像是最新的Apache /鑽頭:1.17.0 2020年1月9日07:36:31.581 INFO - 拉取圖像成功,所用時間:0 分 0 秒 2020-01-09 07:36:31.589 INFO - 站點啟動容器 2020-01-09 07:36:31.590 INFO - docker run -d -p 5004:8047 --name drillap_0_6ea940a5 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE =假-e WEBSITES_PORT = 8047 -e WEBSITE_SITE_NAME = drillap -e WEBSITE_AUTH_ENABLED =假-e WEBSITE_ROLE_INSTANCE_ID = 0 -e WEBSITE_HOSTNAME = drillap.azurewebsites.net -e WEBSITE_INSTANCE_ID = c800a32d152e76d00855faaa38f7220f16f7397d5f2a -e HTTP_LOGGING_ENABLED = 1阿帕奇/鑽:1.17.0 -i --detach -t apache/drill:1.17.0 /bin/bash

2020-01-09 07:36:32.577 INFO - 向容器drillap_0_6ea940a5 發起預熱請求以獲取站點drillap 2020-01-09 07:36:47.871 INFO - 正在等待對容器drillap_0_5.ea940 的預熱請求的響應已用時間 = 15.2939741 秒 2020-01-09 07:37:00.080 信息 - 用於站點鑽取的容器鑽取_0_6ea940a5 已成功初始化並准備好為請求提供服務。 2020-01-09 07:37:05.107 錯誤-drillap_0_6ea940a5 站點drillap 的容器不健康,正在停止站點。 2020-01-09 07:37:05.108 信息 - 停止現場鑽取,因為它不健康。 2020-01-09 07:37:06.037 INFO - 從 Docker hub 拉取鏡像:apache/drill:1.17.0 2020-01-09 07:37:06.922 INFO - 1.17.0 從 apache/drill 拉取 2020-01 07:37:06.923 INFO - 文摘:SHA256:0bd358f1c523787f4d8f6e69d1119e10effceb0cf84135dbeb23184244cb361b 2020年1月9日07:37:06.924 INFO - 狀態:圖像是最新的Apache /鑽頭:1.17.0 2020年1月9日07:37:06.928 INFO - 拉取圖像成功,所用時間:0 分 0 秒 2020-01-09 07:37:06.936 INFO - 站點啟動容器 2020-01-09 07:37:06.938 INFO - docker run -d -p 5974:8047 --name drillap_0_e803f215 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE =假-e WEBSITES_PORT = 8047 -e WEBSITE_SITE_NAME = drillap -e WEBSITE_AUTH_ENABLED =假-e WEBSITE_ROLE_INSTANCE_ID = 0 -e WEBSITE_HOSTNAME = drillap.azurewebsites.net -e WEBSITE_INSTANCE_ID = cbb157800a32d152e76d00855faaa38f7220f16f7397d5f2a -e HTTP_LOGGING_ENABLED = 1阿帕奇/鑽:1.17.0 -i --detach -t apache/drill:1.17.0 /bin/bash

2020-01-09 07:37:07.885 INFO - 向容器drillap_0_e803f215 發起預熱請求以獲取站點drillap 2020-01-09 07:37:23.172 INFO - 等待對容器drillap_021f803f 的預熱請求的響應。 已用時間 = 15.2871888 秒 2020-01-09 07:37:36.427 信息 - 用於站點鑽取的容器鑽取_0_e803f215 已成功初始化並准備好為請求提供服務。 2020-01-09 07:37:41.439 錯誤-drillap_0_e803f215 站點drillap 的容器不健康,正在停止站點。 2020-01-09 07:37:41.440 信息 - 停止現場鑽取,因為它不健康。 2020-01-09 07:37:42.060 INFO - 從 Docker hub 拉取鏡像:apache/drill:1.17.0 2020-01-09 07:37:42.935 INFO - 1.17.0 從 apache/drill 拉取 2020-01 07:37:42.936 INFO - 文摘:SHA256:0bd358f1c523787f4d8f6e69d1119e10effceb0cf84135dbeb23184244cb361b 2020年1月9日07:37:42.937 INFO - 狀態:圖像是最新的Apache /鑽頭:1.17.0 2020年1月9日07:37:42.940 INFO - 拉取圖像成功,所用時間:0 分 0 秒 2020-01-09 07:37:42.946 INFO - 站點啟動容器 2020-01-09 07:37:42.948 INFO - docker run -d -p 8923:8047 --name drillap_0_1a0fd801 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE =假-e WEBSITES_PORT = 8047 -e WEBSITE_SITE_NAME = drillap -e WEBSITE_AUTH_ENABLED =假-e WEBSITE_ROLE_INSTANCE_ID = 0 -e WEBSITE_HOSTNAME = drillap.azurewebsites.net -e WEBSITE_INSTANCE_ID = cbb516cc2157800a32d152e76d00855faaa38f7220f16f7397d5f2a -e HTTP_LOGGING_ENABLED = 1阿帕奇/鑽:1.17.0 -i --detach -t apache/drill:1.17.0 /bin/bash

2020-01-09 07:37:43.927 INFO - 向容器drillap_0_1a0fd801 發起預熱請求以獲取站點drillap 2020-01-09 07:37:59.180 INFO - 正在等待對容器drillap_08010f 的預熱請求的響應已用時間 = 15.2529388 秒 2020-01-09 07:38:12.606 信息 - 用於站點鑽取的容器鑽取_0_1a0fd801 已成功初始化並准備好為請求提供服務。 2020-01-09 07:38:17.615 錯誤-drillap_0_1a0fd801 站點drillap 的容器不健康,正在停止站點。 2020-01-09 07:38:17.616 信息 - 停止現場鑽取,因為它不健康。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM