2016-06-27 2 views
1

그래서 내가 용기를 지켜 용기가 중지되면 위험 상태로 돌입하도록 설계된 영사 확인을 확인합니다. 수표가 치명적이거나, 몇 가지 치명적인 응답 (예를 들어 수표로 스크립트를 실행하기 위해 5 가지의 중요한 응답을 보내는 경우)을 한 후에 스크립트를 실행할 영사관을 만들고 싶습니다. 여기 영사 중요한 영사 시계는

은 내 시계가 어떻게 보이는지에 대한 나의 작업 확인 및 내 생각에 대한 JSON입니다 :

{ 

// this check works 
"checks": [ 
    { 
     "id": "docker_stuff", 
     "name": "curl test", 
     "notes": "curls the docker container", 
     "script": "/scripts/docker.py", 
     "interval": "1s" 
    } 
], 

//this watch doesn't work 
"watches": [ 
    { 
     "Node": "client2", 
     "CheckID": "docker-stuff", 
     "Name": "docker-stuff-watch", 
     "Status": "critical", 
     "Status_amt": "5", 
     "handler": "/scripts/new-docker.sh", 
     "Output": "container relaunched", 
    } 
] 

} 

무엇 작업 얻을 내 시계에서 변경해야합니까?

consul 이벤트를 사용하여 내 건강 상태를 확인한 다음 내 /scripts/new-docker.sh 스크립트를 실행하는 consul watch (이벤트 유형)를 트리거해야합니까? 그렇다면 어떻게하면 건강 검진을 지켜 보는 영사 행사를 만들 수 있습니까? 예를 들어 이것이 내 영사 수표, 시계 및 행사 인 경우,이 작업을 수행하기 위해 무엇을 변경해야합니까?

{ 
"checks": [ 
    { 
     "id": "docker_stuff", 
     "name": "curl test", 
     "notes": "curls the docker container", 
     "script": "/scripts/docker.py", 
     "interval": "1s" 
    } 
], 
"watches": [ 
    {  
     "type": "event", 
     "name": "docker-stuff-watch", 
     "handler": "/scripts/new-docker.sh" 
    } 
], 
"events": [ 
    { 
     "Node": "client2", 
     "CheckID": "docker-stuff", 
     "Name": "docker-stuff-event", 
     "Status": "critical", 
     "Status_amt": "5", 
     "Output": "container relaunched", 
    } 
] 
} 

답변

0

Docker 1.12 (릴리스 후보자)의 다음 버전으로 업그레이드하는 것이 좋습니다. 새로운 서비스 개념을 사용하여 원하는 수의 컨테이너를 실행할 수 있습니다.

당신이 컨테이너 이미지와 체크 스크립트를 묶을 수있는 Dockerfile의 새로운 HEALTHCHECK 지시어도 있습니다

.

이 새로운 기능은 영사를 사용하여 구현하는 당신이 했어 기능을 대체 할 수 있습니다 있습니다. 이 작업을 얻을

1

나는 내 시계에서 변경 무엇이 필요합니까?

는 오류가 있습니까? 영사가 전송할 STDIN을/dev/null에 버려도 시계 처리기 '/scripts/new-docker.sh'를 사용하고 있는지 확인하십시오. 그렇지 않으면 프로세스가 영원히 소비 될 때까지 기다립니다.

이와 비슷한 것

while read -r -t 0; do read -r; done 
관련 문제