docker-compose postgresql在python应用程序中的实现

我正在构build一个Python应用程序,我正试图在Docker中运行它。 (我的作品完全在virtualenv没有docker。)

所以,我的应用程序由config.py文件和其他使一切正常的文件组成,但在这种情况下是不重要的。

我的configuration文件如下所示:

SQLALCHEMY_DATABASE_URI = "postgresql+psycopg2://gimtest:gimtest@localhost:5432/gimtest-users" 

应用程序需要postgresql在应用程序启动之前运行,所以我尝试使用Docker-Compose。 我的docker-compose.yml如下所示:

 version: '2' services: web: build: ./web ports: - "5000:5000" depends_on: - postgres links: - postgres - elastic expose: - 5000 command: "python run.py" postgres: image: postgres:9.5 expose: - 5432 environment: POSTGRES_USER: "gimtest" POSTGRES_PASSWORD: "gimtest" POSTGRES_DB: "gimtest-users" elastic: image: elasticsearch:2.3 

现在问题是我无法连接到postgresql数据库。 (至less这是编译说,因为它从python应用程序抛出一个错误,没有postgresql运行在指定的URL(在config.py中)。

我怎样才能修复这个url,以便它能正常工作?