簡體   English   中英

Docker服務運行狀況檢查不適用於Spring Boot應用程序

[英]Docker service health check is not working for spring boot application

我將我的spring boot Web應用程序作為docker服務運行,並且在沒有運行狀況檢查的情況下運行良好。

但是,當我嘗試使用運行狀況檢查選項創建docker服務時,我的服務會在一段時間后(可能是在運行狀況正常超時后)自動重新啟動,並且它永遠不會穩定。

我創建了\\health rest終結點,只需返回ok。這是我用來創建帶有運行狀況檢查選項的服務的命令,沒有它。

帶有運行狀況檢查選項的命令:

sudo docker service create \
    --health-cmd="curl --silent --fail localhost:8090/health || exit 1" \
    --health-interval=5s \
    --health-retries=12 \
    --health-timeout=2s \
    --health-start-period=60s \
    --name=my-service \
    -p "8090:8090" \
    my-docker-img

輸出:

s43fbah1qdlxb01s4x5veecos
overall progress: 0 out of 1 tasks 
1/1: starting  [============================================>      ] 

沒有運行狀況檢查的命令:

sudo docker service create \
    --name=my-service \
    -p "8090:8090" \
    my-docker-img

我的spring boot應用程序需要20秒鍾才能啟動並運行。

確保在容器中安裝了“ curl”。 --health-cmd="curl --silent --fail localhost:8090/health || exit 1"可能失敗。 其他一切看起來都很好。

以下命令將幫助您調試問題。 您將能夠看到日志:

sudo docker inspect --format='{{json .State.Health}}' [container-name-or-id]

暫無
暫無

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

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