Читал тред:
Как подключить Python к Postgresql внутри Docker-а? - не помогло.
Проблема такая:
Есть скрипт питона, который подключается к локальной Postgre БД. При запуске контейнера с БД отдельно и скрипта через PyCharm - всё работает как надо. Но стоит попытаться запустить их вместе через compose - контейнер с питоном крашится:
2024-08-03 22:17:01 sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused
2024-08-03 22:17:01 Is the server running on that host and accepting TCP/IP connections?
2024-08-03 22:17:01 connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused
2024-08-03 22:17:01 Is the server running on that host and accepting TCP/IP connections?
Compose файл:
volumes:
postgres_data:
services:
postgres:
image: postgres:13.3
env_file: .env
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
backend:
build: ./bot_backend/
env_file: .env
depends_on:
- postgres
Dockerfile питона:
FROM python:3.9
WORKDIR /bot_backend
COPY requirements.txt .
RUN pip install -r requirements.txt --no-cache-dir
COPY . .
CMD ["python3", "bot_main.py"]
Причём даже после краша питоновского контейнера - контейнер с Postgre продолжает работу и к нему можно спокойно подключится через PyCharm. Всё работает как надо.