Я бьюсь головой об этой проблеме и не могу понять, в чем проблема. Запуск Docker Desktop на Windows 10. У меня есть один API-интерфейс dotnetcore 3.1, который подключается к postgres. Оба они выполняются в контейнерах.
Кажется, все работает, кроме подключения к базе данных. Поскольку я смотрел мои docker -compose.yml миллионы раз, я не могу придумать другую идею.
Вот моя строка подключения:
"Server=postgres;Port=5432;Database=IdentityManager;User Id=postgres;Password=12345678;"
Вот docker -compose.yml file:
version: '3'
services:
identityserver:
depends_on:
- "postgres"
container_name: identityserver
build:
context: ./my_project/
dockerfile: Dockerfile
environment:
- ASPNETCORE_ENVIRONMENT='Development'
ports:
- "5000:80"
postgres:
image: "postgres"
container_name: "postgres"
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=12345678
- POSTGRES_DB=IdentityManager
expose:
- "5432"
Все накапливается, но соединение с базой данных не удается:
Unhandled exception. Npgsql.NpgsqlException (0x80004005): Exception while connecting identityserver
---> System.Net.Internals.SocketExceptionFactory+ExtendedSocketException (99): Cannot assign requested address [::1]:5432
Самое странное, что когда я запускаю postgres наедине с этим та же конфигурация на docker -compose.yml и запуск приложения вне контейнера с немного другой строкой подключения:
"Server=127.0.0.1;Port=5432;Database=IdentityManager;User Id=postgres;Password=12345678;"
Я могу подключиться к базе данных.
Я попытался очистить все docker system prune -a
, попытался перезапустить Docker, перезапустить P C, но безуспешно. Может кто-нибудь попытаться помочь?