Я столкнулся с проблемой. Проблема в том, что команда docker ps
отображает состояние моего контейнера всегда как нездоровый
Я воспроизвел эту проблему и отправил на Github: https://github.com/korenb/docker-healthcheck-aspnetcore.git
Мои шаги:
- Я настроил конечную точку проверки работоспособности в проекте aspnetcore. Путь
/health
- Затем я создал докер и установил свойство HEALTHCHECK , как описано в официальных документах
- Когда я запускаю контейнер, я вижу его статус нездоровый навсегда
Команда проверки: curl --fail http://localhost/health || exit 1
Я удивлен, что, если я запускаю эту команду через docker exec <container> curl --fail http://localhost/health
, она работает
Я получаю некоторые журналы от docker inspect <container>
, но я действительно понятия не имею, что не так.
{
"Status": "unhealthy",
"FailingStreak": 22,
"Log": [{
"Start": "2019-03-12T13:27:51.570474Z",
"End": "2019-03-12T13:27:51.6708017Z",
"ExitCode": -1,
"Output": "OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caused \"exec: \\\"curl --fail http://localhost/health || exit 1\\\": stat curl --fail http://localhost/health || exit 1: no such file or directory\": unknown"
},
{
"Start": "2019-03-12T13:27:53.8550082Z",
"End": "2019-03-12T13:27:53.9882208Z",
"ExitCode": -1,
"Output": "OCI runtime exec failed: exec failed: container_linux.go:344: starting container process caused \"exec: \\\"curl --fail http://localhost/health || exit 1\\\": stat curl --fail http://localhost/health || exit 1: no such file or directory\": unknown"
}
]
}
Я в отчаянии, поэтому я надеюсь, что сообщество поможет мне разобраться в проблеме