![](/img/trans.png)
[英]Health check in legacy web application (non spring boot application) [on hold]
[英]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.