Не могу подключиться к бд postgresql в docker-compose

При попытке создании миграции сталкиваюсь с ошибкой - Хост не найден или Unable to connect to ...

docker-compose файл

version: '3.4'

services:
  backend:
    image: webapiwithdockerpostgre
    build:
      context: .
      dockerfile: WebApiWithDockerPostgre/Dockerfile

  database:
    image: postgres
    restart: always
    ports:
        - 5432:5432
    environment:
        POSTGRES_USER: admin
        POSTGRES_PASSWORD: superpassworddocker
        POSGRES_DB: TestDb
    volumes:
      - database-data:/var/lib/postgresql/data/


volumes:
    database-data:
    pgadmin:

Dockerfile

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["WebApiWithDockerPostgre/WebApiWithDockerPostgre.csproj", "WebApiWithDockerPostgre/"]
RUN dotnet restore "WebApiWithDockerPostgre/WebApiWithDockerPostgre.csproj"
COPY . .
WORKDIR "/src/WebApiWithDockerPostgre"
RUN dotnet build "WebApiWithDockerPostgre.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "WebApiWithDockerPostgre.csproj" -c Release -o /app/publish /p:UseAppHost=false

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

Connection string -

"Host=database;Database=DbTest;Username=admin;Password=superpassworddocker;Port=5432"

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

Автор решения: dasper

Излазив по всем паутинкам интернета, обнаружил интересную статью, где используют host.docker.internal , вместо названия контейнера. мне это помогло и я очень рад.

моя строка подключения выглядит следующим образом:

Server=host.docker.internal;Database=TestDb;User ID=admin;Password=superpassword;Port=5432
→ Ссылка