Нет доступа к ASP .NET 8.0 Web Api в docker

У меня возникла проблема, что я не могу получить доступ к своему api, развернутому в docker. Вот так выглядит мой Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["Health.Api/Health.Api.csproj", "Health.Api/"]
COPY ["Health.Core/Health.Core.csproj", "Health.Core/"]
COPY ["Health.DAL/Health.DAL.csproj", "Health.DAL/"]
COPY ["Health.Domain/Health.Domain.csproj", "Health.Domain/"]
RUN dotnet restore "./Health.Api/./Health.Api.csproj"
COPY . .
WORKDIR "/src/Health.Api"
RUN dotnet build "./Health.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build

FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "./Health.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Health.Api.dll"]

Вот так выглядит docker-compose.yml:

version: '3.4'

services:
  health.api:
    image: ${DOCKER_REGISTRY-}healthapi
    build:
      context: .
      dockerfile: Health.Api/Dockerfile

Вот так выглядит docker-compose.override.yml:

version: '3.4'

services:
  health.api:
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
    ports:
      - "8080:8080"
    volumes:
      - ${APPDATA}/Microsoft/UserSecrets:/home/app/.microsoft/usersecrets:ro
      - ${APPDATA}/ASP.NET/Https:/home/app/.aspnet/https:ro
  
  health.cache:
    image: redis
    container_name: health.cache
    restart: always
    ports:
      - "6379:6379"
  
  health.database:
    image: postgres:latest
    container_name: health.database
    environment:
      - POSTGRES_DB=healthdb
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    volumes:
      - ./.containers/health-db:/var/lib/postgresql/data
    ports:
      - "5432:5432"

Если я запускаю свой проект через Visual Studio, то все работает, как ожидается. Если же я останавливаю отладку в Visual Studio и пытаюсь достучаться к api по адресу http://localhost:8080 (либо к swagger, либо к endpoint в postman), то выдает ошибку введите сюда описание изображения

введите сюда описание изображения

Уже тонну способов из интернета перепробовал. Подскажите, что я делаю не так?


Ответы (0 шт):