Я новичок в Консуле / Регистраторе и Докере. Я запутался в использовании проверки здоровья Consul в среде Docker. Это описано по следующей ссылке в разделе Docker + Interval: https://www.consul.io/docs/agent/checks.html
Вот пример определения Consul Healthcheck, описанного в ссылке:
{
"check": {
"id": "mem-util",
"name": "Memory utilization",
"docker_container_id": "f972c95ebf0e",
"shell": "/bin/bash",
"args": ["/usr/local/bin/check_mem.py"],
"interval": "10s"
}
}
Является ли скрипт healthcheck внутри образа докера или за его пределами (в примере: check_mem.py)? Должны ли мы знать идентификатор контейнера и вручную вставить в поле: docker_container_id? (это был бы не очень эффективный способ)
Я гуглял вокруг, и единственный ответ, который я могу найти, находится в конце следующего обсуждения:
https://github.com/hashicorp/consul/issues/3182
Но этот код является некоторым «обходным путем» - он использует «первичную» проверку работоспособности докера и переменную регистратора - ENV SERVICE_CHECK_SCRIPT. Он не использует сценарий консула healthcheck.
Может кто-нибудь помочь мне понять, как работает консула Healthcheck в среде докеров.