Как исправить django.db.utils.OperationalError: could not translate host name "db" to address: Временный сбой в разрешении имен
Видел, что этот вопрос уже задавался, но все еще нет решения, работающего для меня.
Мой docker-compose:
version: '3.9'
services:
db:
image: postgres
volumes:
- ./data/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGREES_PASSWORD=password
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/books
ports:
- "8000:8000"
depends_on:
- db
my requirements.txt
Django>=3.2
psycopg2-binary>=2.8
my settings.py:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER' : 'postgres',
'PASSWORD' : 'postgres',
'HOST' : 'db',
'PORT' : 5432,
}
}
мой dockerfile:
FROM python:3
ENV PYTHONUNBUFFERED=1
WORKDIR /books
COPY requirements.txt /books/
RUN pip install -r requirements.txt
COPY . /books/
ошибка, которая отображается на моем терминале
File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
web_1 | conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
web_1 | django.db.utils.OperationalError: could not translate host name "db" to address: Temporary failure in name resolution