2017-12-08 1 views
0

도커 healthcheck document는 컬이를 보여줍니다 curl 대신 wget을 사용하여 Docker 상태 확인을 수행하는 방법은 무엇입니까?

HEALTHCHECK --interval=5m --timeout=3s \ 
    CMD curl -f http://localhost/ || exit 1 

내가 HTTP 200이 반환되지 않을 때 1을 종료 할 wget과의 한 줄 상당합니다.

+0

모두'HEALTHCHECK', 당신은 지정 명령의 종료 상태가 '0'인 경우에 대해 듣고입니다 - 당신이 원하는 무엇이든 할 수있다. 따라서, 아래에서 주목했듯이, 엔드 포인트를 확인하고 적절히 실패하기 위해서는'wget' 명령이 필요합니다. –

+0

@TJBiddle 우리는 Kelsey Hightower의 healthz 패턴을 ​​사용하고 그 페이지에 healthcheck를 지정합니다. Wget에는 동일한 기능이 없으므로 해당 기능이 직관적이지 않습니다. –

답변

1

다음은 동등한 것으로 보인다 :

HEALTHCHECK --interval=5m --timeout=3s \ 
    CMD wget --quiet --tries=1 --spider http://localhost/ || exit 1 
+0

나는 하나의 char 약어가 아닌 매개 변수를 항상 사용합니다 ... "-t 1"은 필요하지 않습니다. 내 확인은 다음과 같습니다. "wget ​​--quiet --spider h t t p : // localhost" – eventhorizon

+0

. 비 HTTP 200으로 인해 wget이 무기한 재 시도하게되므로 --tries = 1이 필요합니다. –

+0

나는 분명히해야한다, 나는 고산 3.6 wget에 재 시도를 보았다. 나는 MacOS wget으로 재 시도를 보지 못했다. –

관련 문제