в докере вдруг..
net core 3.1, Rest API
в проекте добавил вроде всё, что нужно:
при конфигурации в ConfigureServices - services.AddHealthChecks();
void Configure
содержит в себе:
app.UseEndpoints(endpoints =>
{
/*....*/
endpoints.MapHealthChecks("/health", new HealthCheckOptions
{
AllowCachingResponses = false
});
});
в компоузе всё перепробовал - хоть 127.0.0.1, хоть локалхост, хоть 0.0.0.0, хоть IP машины, на которой запускается (уровень вложенности и всё прочее тоже перепроверил 100 раз):
healthcheck:
# test: ["CMD", "curl", "-f", "http://${HOST_IP}:${PORT}/health"]
# test: ["CMD", "curl", "-f", "http://localhost:${PORT}/health"]
test: curl --silent --fail http://0.0.0.0:${PORT}/health || exit 1
interval: 30s
timeout: 20s
retries: 3
с эндпоинта /health в браузере/постмане всё ок
в контейнерах сначала статус "starting", а потом становится "unhealthy"
куда копать? может что-то ещё не хватает в компоузе/сервисах? может респонс должен быть особым? направьте плиз [в гугле не забанили - ничего релевантного не нашлось]
он и в докере работает, в браузере и постмане на локалхосте+порт+/health а из докера в разных комбинациях не пашет...
Если все в композе, то попробуйте так "http://:container_name:port/health"
т.е. с двоеточием перед именем сервиса?.. хмм сейчас попробую..
они у меня натравлены по типу - X : X
http://[container_name]:80/ итд
Обсуждают сегодня