Хост "localhost" (::1) и принимает TCP/IP соединения на порт 5432?

Я пытаюсь создать веб-сайт Django, который подключается к "стандартной" базе данных PostgreSQL, и все это в Docker. Обратите внимание, я пытаюсь создать db внутри образа postgres. После выполнения команды docker-compose up --remove-orphans возникает ошибка в заголовке. Могу ли я сделать что-нибудь, чтобы исправить это?

В настоящее время я использую следующее:

Settings.py - DATABASES

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': 'localhost',
        'PORT': 5432,
    }
}

Dockerfile

FROM python:3.7-slim as production

ENV PYTHONUNBEFFERED=1
WORKDIR /app/

RUN apt-get update && \
    apt-get install -y \
    bash \
    build-essential \
    gcc \
    libffi-dev \
    musl-dev \
    openssl \
    postgresql \
    libpq-dev

COPY requirements/prod.txt ./requirements/prod.txt
RUN pip install -r ./requirements/prod.txt

COPY manage.py ./manage.py
COPY website ./website

EXPOSE 8000

FROM production as development

COPY requirements/dev.txt ./requirements/dev.txt
RUN pip install -r ./requirements/dev.txt

COPY . .

docker-compose.yml

version: "3.7"

x-service-volumes: &service-volumes
  - ./:/app/:rw,cached

x-database-variables: &database-variables
  POSTGRES_DB: postgres
  POSTGRES_USER: postgres
  POSTGRES_PASSWORD: postgres

x-app-variables: &app-variables
  <<: *database-variables
  POSTGRES_HOST: postgres

services:
  website:
    image: "django_image:latest"
    command: python manage.py runserver 0.0.0.0:8000
    volumes: *service-volumes
    environment: *app-variables
    depends_on:
      - db_migrate
    ports:
      - "8000:8000"

  db_migrate:
    image: "django_image:latest"
    command: python manage.py migrate
    volumes: *service-volumes
    environment: *app-variables
    depends_on:
      - postgres

  postgres:
    image: "postgres:latest"
    ports:
      - "5432:5432"
    environment: *database-variables
    volumes:
      - db-data:/var/lib/postgres

volumes:
  db-data:
Вернуться на верх