Приложение .net core не будет подключаться к postgres db во время docker-compose - PullRequest
0 голосов
/ 11 марта 2019

Я создал приложение, которое использует 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.

  1. Использование «Сервер» вместо «хост».
  2. с использованием "docker.for.win.localhost" вместо имени контейнера
  3. Использование IP-адреса шлюза контейнера postgres

Каждый учебник, на который я смотрел, кажется простымно это не работает для меня.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 11 марта 2019

Я понял, что не перестраиваю docker-compose каждый раз, когда вносил изменения. Использование имени контейнера сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...