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. Что мне делать, любой друг может помочь?