Я создал приложение, которое использует postgres db.Мой docker-compose выглядит следующим образом.
version: '3.7'
volumes:
imdb_id_service_volume:
external:
name: imdb_id_service_volume
networks:
app_network:
driver: bridge
services:
postgres_imdb_id_db:
image: postgres
ports:
- "5432:5432"
volumes:
- imdb_id_service_volume:/var/lib/postgresql/data
networks:
- app_network
docker_imdb_id_service:
image: docker_retrieve_data
depends_on:
- "postgres_imdb_id_db"
restart: always
build:
context: .
dockerfile: Dockerfile
networks:
- app_network
ports:
- "5000:80"
Мой appsettings.json выглядит следующим образом.
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"PostgresConnection": "host=postgres_imdb_id_db; Username=postgres; Port=5432; Database=ImdbIds;"
}
}
Если я запускаю контейнер postgres сам, а затем запускаю приложение локально, он работаетс локальным хостом.Некоторые другие вещи, которые я пробовал для моего PostgresConnection в appsettings.json.
- Использование «Сервер» вместо «хост».
- с использованием "docker.for.win.localhost" вместо имени контейнера
- Использование IP-адреса шлюза контейнера postgres
Каждый учебник, на который я смотрел, кажется простымно это не работает для меня.Любая помощь будет оценена.