Подключение базы данных в Docker.(psycopg2.OperationalError) could not translate host name "postgres" to address: Temporary failure in name resolution
Не получается подключить БД к приложению в docker-compose.
Dockerfile
FROM python:3.11
RUN mkdir /fastapi_app
WORKDIR /fastapi_app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
Docker-compose
version: "3.7"
services:
db:
container_name: postgres
image: postgres:alpine3.18
restart: always
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
ports:
- 5432:5432
networks:
- custom
env_file:
- backend/.env
app:
build:
context: /backend
env_file:
- backend/.env
container_name: fastapi_app
command: ["/fastapi_app/docker/app.sh"]
ports:
- 9999:8000
depends_on:
- db
networks:
custom:
driver: bridge
app.sh
#!/bin/bash
alembic upgrade head
cd backend
gunicorn main:app --workers 4 --worker-class uvicorn.workers.UvicornWorker --bind=0.0.0.0:8000
.env
DB_HOST=postgres
DB_PORT=5432
DB_NAME=postgres
DB_USER=postgres
DB_PASS=postgres
Приложение запускается, БД запускается, но нет подключения к БД, ошибка:
sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not translate host name "postgres" to address: Temporary failure in name resolution