Django не видит Postgres из docker-compose

делаю композ для джанго и постгреса, но джанго не видит постгрес на 5432 порте

version: "3.8"

services:
  backend:
    image: backend:latest
    build: .
    ports:
      - "8000:8000"
    env_file:
      - .envs/docker.env
    depends_on:
      - db

  db:
    image: postgres:12
    volumes:
    - postgres_data:/var/lib/postgresql/data
    env_file:
      - .envs/docker.env
    ports:
    - "8001:5432"

volumes:
  postgres_data:

Dockerfile

FROM python:3.8-slim

RUN apt-get update && apt-get install -y gcc libffi-dev g++

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    POETRY_VERSION=1.1.3

# App directory
WORKDIR /app

RUN pip install "poetry==$POETRY_VERSION"
RUN python -m venv /venv

COPY pyproject.toml poetry.lock ./
RUN . /venv/bin/activate && poetry install --no-root

COPY . .
RUN chmod +x docker-entrypoint.sh

CMD ["./docker-entrypoint.sh"]

Скрипт пытается запустить сервер, но не может из-за отсутствия бд. Всё, что я вижу это

ошибка

  1. Окружение настроено правильно и переменные окружения попадают правильно
  2. Контейнер бд запускается и работает. Об этом говорится в логах и я с хоста могу подключиться по 8001 порту
  3. В бд даже не приходит реквест об авторизации, пинг из контейнера джанго говорит, что порты пусты
  4. Пытался открывать, закрывать порты через композ и докерфайл, тоже не помогло

Наверное, тут нужно что-то делать через network. Но во всех доках используется обычный практически такой докерфайл


Ответы (0 шт):