Я изо всех сил пытаюсь создать образ докера для моего проекта Django.Я использую Celery с Redis в качестве брокера и Postgres.При создании контейнера появилась такая ошибка: django.db.utils.OperationalError: could not translate host name "db" to address: No address associated with hostname
Dockerfile
FROM python:3.6
ENV PYTHONUNBUFFERED 1
ENV DJANGO_ENV dev
ENV DOCKER_CONTAINER 1
COPY ./requirements.txt /code/requirements.txt
RUN pip install -r /code/requirements.txt
COPY /src/ /code/
WORKDIR /code/
EXPOSE 8000
docker-compose.yml
version: "3"
services:
db:
image: postgres
expose:
- "5432"
redis:
image: "redis:alpine"
web:
build: .
command: bash -c "python /code/manage.py migrate --noinput && python /code/manage.py runserver 0.0.0.0:8000"
ports:
- "8000:8000"
depends_on:
- db
- redis
celery:
build: .
command: celery -A core worker -l info
depends_on:
- db
- redis
celery-beat:
build: .
command: celery -A core beat -l info
depends_on:
- db
- redis
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'postgres',
'USER': 'postgres',
'HOST': 'db',
'PORT': 5432,
}
}
Есть идеи, что я делаю не так?Я вполне уверен, что это что-то с конфигурацией базы данных в settings.py, так как она работала нормально, прежде чем я изменил это, и я смог запустить свое приложение и тестировать сельдерей.