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

1 point

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

permalink
report
reply
1 point

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
permalink
report
parent
reply
2 points

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

permalink
report
parent
reply
1 point

Thanks!
I also added

depends_on:
      - db

to docker-compose.yaml and fixed the issue!

permalink
report
parent
reply
1 point
Deleted by creator
permalink
report
reply

Community stats

  • 9

    Monthly active users

  • 16

    Posts

  • 31

    Comments

Community moderators