Зависимость docker-compose от одного сервиса .Net портит его проверку работоспособностиC#

Место общения программистов C#
Ответить
Anonymous
 Зависимость docker-compose от одного сервиса .Net портит его проверку работоспособности

Сообщение Anonymous »

У меня есть следующий файл docker-compose.yaml для развертывания моего приложения. Когда я комментирую «зависит_он» в сервисе newseo, контейнеры запускаются без проблем и все проверки работоспособности пройдены. Однако, когда я добавляю depend_on обратно, newseo.api зависает во время запуска без журналов, а также без подключения к {url}/health.
Вот файл docker-compose:

Код: Выделить всё

services:
newsseo:
image: ${DOCKER_REGISTRY-}newsseo
build:
context: .
dockerfile: NewsSEO/Dockerfile
depends_on:
newsseo-api:
condition: service_healthy

newsseo-api:
image: ${DOCKER_REGISTRY-}newsseoapi
build:
context: .
dockerfile: NewsSEO.API/Dockerfile
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "curl -k -f https://localhost:8081/health || exit 1"]
interval: 10s
timeout: 10s
retries: 3

postgres:
image: postgres:18.0
ports:
- "5432:5432"
environment:
POSTGRES_PASSWORD: "admin123"
POSTGRES_USER: "admin"
POSTGRES_DB: "news_db"
healthcheck:
test: ["CMD-SHELL", "pg_isready"]
interval: 10s
timeout: 10s
retries: 3
Я уже добавил Curl в Dockerfile newseo:

Код: Выделить всё

FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
USER root
RUN apt-get update && apt-get install -y curl
USER $APP_UID
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
Проверка работоспособности в коде newsseo-api добавлена с помощью builder.Services.AddHealthChecks() и app.MapHealthChecks("health").
Что я уже пробовал:
  • Изменение https 8081 на http 8080 при проверке работоспособности.
    />
  • Увеличение интервала, времени ожидания и начального_периода.
  • Добавление перезапуска: при сбое для обеих служб.


Подробнее здесь: https://stackoverflow.com/questions/798 ... ealthcheck
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»