this post was submitted on 27 Jul 2023
4 points (100.0% liked)

Docker

452 readers
2 users here now

founded 1 year ago
MODERATORS
 

FastAPI container fails to connect to PostgreSQL.
However, the PostgreSQL container is running well and accessible.
I don't know why this problem is happening.
Here is gist link of Dockerfile, docker-compose.yaml and log when docker-compose is run. https://gist.github.com/sunwoo1524/9f75b4d3fd295c9829705e23a3b8094d

all 5 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 1 year ago (1 children)

The python container should connect on postgres:5432 not localhost. To the web container, localhost is itself, not the physical host running docker

[–] [email protected] 1 points 1 year ago (1 children)

I changed host to postgres:5432, but python made an error.

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "postgres" to address: Temporary failure in name resolution
[–] [email protected] 2 points 1 year ago (1 children)

Sorry, I misread your compose file. It should be the name of the PG container, so db:5432

[–] [email protected] 1 points 1 year ago

Thanks!
I also added

depends_on:
      - db

to docker-compose.yaml and fixed the issue!