Dockerize существует проект Django Postgres:на хосте "localhost" (127.0.0.1) и принимает web_1 | TCP/IP соединения на порт 5432? [дубликат]

У меня есть проект django, использующий postgresql, запущенный на локальном хосте без каких-либо проблем.

Потом я начал докеризацию:

оригинальный settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mydb',
        'USER': 'myuser',
        'PASSWORD': 'mypass',
        'HOST': 'localhost',
        'PORT': ' ',
    }
}

Dockerfile:

FROM python:3

ENV PYTHONUNBUFFERED 1

WORKDIR /app

ADD . /app

COPY ./requirements.txt /app/requirements.txt

RUN pip install -r requirements.txt

COPY . /app

docker-compose.yml

version: '3'
services:

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    ports:
      - 8000:8000

Затем я запускаю:

docker-compose build

Сборка изображения прошла успешно.

Затем я запускаю :

docker-compose up

Ошибка:

conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
web_1  | django.db.utils.OperationalError: could not connect to server: Connection refused
web_1  |        Is the server running on host "localhost" (127.0.0.1) and accepting
web_1  |        TCP/IP connections on port 5432?
web_1  | could not connect to server: Cannot assign requested address
web_1  |        Is the server running on host "localhost" (::1) and accepting
web_1  |        TCP/IP connections on port 5432?

Я знаю, что это потому, что контейнер не может соединиться с моей локальной базой данных Postgresql. Что мне делать, любой друг может помочь?

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