.net核心应用程序在docker-compose期间将不会连接到postgres db

时间:2019-03-11 18:33:29

标签: postgresql docker asp.net-core docker-compose

我创建了一个依赖于postgres数据库的应用程序。我的docker-compose看起来像这样。

<!DOCTYPE html>
<html>
<head>
<style> 
body{background-color: #A9A9A9;}
</style> 
</head>
<body>
<p> Dallas Fuel </p>

<center><img id="stat" src="Images/buttonLA.png" style="display:none;"/></center>
<button onclick="myStats()">Player 1</button>
<h3 id="var"></h3>
</body>
</html>

我的appsettings.json看起来像这样。

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"

如果我自己运行postgres容器,然后在本地运行应用程序,则它可以与localhost一起使用。我在appsettings.json中为PostgresConnection尝试过的其他东西。

  1. 使用“服务器”而不是“主机”。
  2. 使用“ docker.for.win.localhost”代替容器名称
  3. 使用postgres容器的网关IP

我看过的每个教程似乎都很简单,但是对我来说不起作用。任何帮助,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我意识到我每次进行更改时都不会重建docker-compose。使用容器名称有效。