Подключение postgres в docker-compose

Итак, у меня есть успешно созданный образ, где я postgres смонтирован как том, однако я продолжаю получать django.db.utils.OperationalError: не удалось подключиться к серверу: Connection refused - когда я запускаю docker-compose up. Мои Dockerfile и docker-compose.yml выглядят следующим образом:

# syntax=docker/dockerfile:1

FROM python:3.10-slim-buster

ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /track

COPY requirements.txt .

RUN apt-get update \
    && apt-get -y install libpq-dev gcc \
    && pip install --upgrade pip \
    && pip install --default-timeout=100 -r requirements.txt


COPY . .

ENV DJANGO_SETTINGS_MODULE track.settings

EXPOSE 8000
version: "3.9"

services:
  django:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    stdin_open: true
    tty: true
    volumes:
    - .:/track
    ports:
    - "8000:8000"
    depends_on:
      - db

  db:
    image: postgres:9.6.10-alpine
    restart: always
    user: postgres
    volumes:
    - track_db:/var/lib/postgresql/data
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASS: postgres
      POSTGRES_DB: postgres

volumes:
  track_db: {}

Пожалуйста, что я делаю не так?

Служба Jango должна быть связана с db:

services:
  django:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    stdin_open: true
    tty: true
    volumes:
      - .:/track
    ports:
      - "8000:8000"
    depends_on:
      - db
    links:
      - db

Теперь вы можете подключиться к db по имени хоста контейнера

Вернуться на верх