Джанго докеризованный с сельдереем и постгрес - PullRequest
1 голос
/ 11 марта 2019

Я изо всех сил пытаюсь создать образ докера для моего проекта 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, так как она работала нормально, прежде чем я изменил это, и я смог запустить свое приложение и тестировать сельдерей.

...