Я получаю следующую ошибку при подключении моего Docker-контейнера Django к моей базе данных Postgres.
File "/usr/local/lib/python3.6/site-packages/psycopg2/__init__.py", line
130, in connect conn = _connect(dsn,
connection_factory=connection_factory, **kwasync)
django.db.utils.OperationalError: could not connect to server:
Connection refused
Is the server running on host "localhost" (127.0.0.1) and accepting
TCP/IP connections on port 5432?
could not connect to server: Cannot assign requested address
Is the server running on host "localhost" (::1) and accepting
TCP/IP connections on port 5432?
Ниже мой Dockerfile, который запускает контейнер
FROM python:3.6
MAINTAINER c15523957
RUN apt-get -y update
RUN apt-get -y upgrade
RUN apt-get -y install libgdal-dev
RUN mkdir -p /usr/src/app
COPY requirements.txt /usr/src/app/
COPY . /usr/src/app
WORKDIR /usr/src/app
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 8000
CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Вот кодв моем файле settings.py моего кода Django
DATABASES = {
'default': {
'ENGINE': 'django.contrib.gis.db.backends.postgis',
'NAME': 'place_loc_db',
'USER': 'place_loc_user',
'PASSWORD': 'abc123',
'HOST': 'localhost',
'PORT': 5432,
}
}
Примечание: у меня не база данных postgres, работающая как контейнер, а на моем локальном компьютере
Примечание. Следующая информация содержится в моих файлах pg_hba.conf и postgresql.conf
postgresql.conf -> listen_addresses = '*'
pg_hba.conf -> host all all 0.0.0.0/0 md5
Я прочитал, что следующие детали выше открывают соединения с базой данных.