Django docker micro postgres server error :django could not translate host name "db" to address: Имя или служба неизвестны
Я знаю, что здесь есть похожий вопрос.
Как выполнить миграцию базы данных Django при использовании Docker-Compose?
Но все без ответа на этот вопрос решили мою проблему:
Я создал проект django, он хорошо работает в локальном окружении, и также хорошо, если я позволяю docker подключить мою локальную базу данных, установив host в:
host.docker.internal
Но когда я устал конвертировать весь проект в docker micro postgres server, после запуска:
docker-compose build
error:
django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known
Вот мой set.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'db',
'PORT': '5432',
}
}
dockerfile:
FROM python:3
ENV PYTHONUNBUFFERED 1
WORKDIR /app
ADD . /app
COPY ./requirements.txt /app/requirements.txt
RUN pip install -r requirements.txt
RUN python manage.py makemigrations
RUN python manage.py migrate
RUN python manage.py load_patient_data
COPY . /app
docker-compose.yml
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
ports:
- 8000:8000
depends_on:
- db
db:
image : postgres
environment:
POSTGRES_HOST_AUTH_METHOD: trust