Skip Navigation

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

0

I ran Python, FastAPI, and PostgreSQL as docker-compose, but it doesn't work with these errors. I don't know why this error occurs. Full Error Message: learn-fastapi-web-1 | Traceback (most recent call last): learn-fastapi-web-1 | File "<frozen runpy>", line 198, in _run_module_as_main learn-fastapi-web-1 | File "<frozen runpy>", line 88, in _run_code learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/__main__.py", line 4, in <module> learn-fastapi-web-1 | uvicorn.main() learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1157, in __call__ learn-fastapi-web-1 | return self.main(*args, **kwargs) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1078, in main learn-fastapi-web-1 | rv = self.invoke(ctx) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 1434, in invoke learn-fastapi-web-1 | return ctx.invoke(self.callback, **ctx.params) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/click/core.py", line 783, in invoke learn-fastapi-web-1 | return __callback(*args, **kwargs) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 416, in main learn-fastapi-web-1 | run( learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/main.py", line 587, in run learn-fastapi-web-1 | server.run() learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 61, in run learn-fastapi-web-1 | return asyncio.run(self.serve(sockets=sockets)) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run learn-fastapi-web-1 | return runner.run(main) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run learn-fastapi-web-1 | return self._loop.run_until_complete(task) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/server.py", line 68, in serve learn-fastapi-web-1 | config.load() learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/config.py", line 467, in load learn-fastapi-web-1 | self.loaded_app = import_from_string(self.app) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/site-packages/uvicorn/importer.py", line 21, in import_from_string learn-fastapi-web-1 | module = importlib.import_module(module_str) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module learn-fastapi-web-1 | return _bootstrap._gcd_import(name[level:], package, level) learn-fastapi-web-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 1204, in _gcd_import learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 1176, in _find_and_load learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 690, in _load_unlocked learn-fastapi-web-1 | File "<frozen importlib._bootstrap_external>", line 940, in exec_module learn-fastapi-web-1 | File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed learn-fastapi-web-1 | File "/main.py", line 5, in <module> learn-fastapi-web-1 | from . import crud, models, schemas learn-fastapi-web-1 | ImportError: attempted relative import with no known parent package Dockerfile: FROM python:latest COPY . . RUN pip install -r requirements.txt CMD python -m uvicorn --host=0.0.0.0 main:app

5