Проект с django,docker,celery,redis выдает ошибку/mainprocess] cannot connect to amqp://guest:**@127.0.0.1:5672//: [errno 111] connection refused

Я пытаюсь создать проект Django с celery и redis для службы обмена сообщениями с помощью docker-compose. Я получаю сообщение Cannot connect to amqp://guest:**@127.0.0.1:5672. Я нигде не использую guest в качестве пользователя или 127.0.0.1:5672, а amqp предназначен для RabbitMQ, но я не использую RabbitMQ. Таким образом, я не знаю, если мои тома docker-compose не установлены правильно для celery, чтобы получить настройки, откуда он получает amqp, или брокер неправильно настроен.

docker-compose.yml:


version: '3'

# network
networks:
  data:
  management:

volumes:
  postgres-data:
  redis-data:

services:
  nginx:
    image: nginx
    ports:
      - "7001:80"
    volumes:
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
      - ../static:/static
    command: [nginx-debug, '-g', 'daemon off;']
    networks:
      - management
    depends_on:
      - web

  db:
    image: postgres:14
    restart: always
    volumes:
      - postgres-data:/var/lib/postgresql/data/
      - ../data:/docker-entrypoint-initdb.d # import SQL dump
    environment:
      - POSTGRES_DB=link_checker_db
      - POSTGRES_USER=link_checker
      - POSTGRES_PASSWORD=passw0rd
    networks:
      - data
    ports:
      - "5432:5432"

  web:
    image: link_checker_backend
    build:
      context: .
      dockerfile: Dockerfile
    environment:
      - DJANGO_LOG_LEVEL=ERROR
      - INITIAL_YAML=/code/initial.yaml
    volumes:
      - ../:/code
      - ../link_checker:/code/link_checker
      - ../link_checker_django/:/code/link_checker_django
      - ./settings.py:/code/link_checker_django/settings.py
    working_dir: /code
    command: >
      sh -c "
      python manage.py migrate --noinput &&
      python manage.py collectstatic --no-input &&
      python manage.py runserver 0.0.0.0:7000
      "
    networks:
      - data
      - management
    depends_on:
      - db

  redis:
    image: redis
    volumes:
      - redis-data:/data
    networks:
      - data

  celery-default:
    image: link_checker_backend
    volumes:
      - ../:/code
      - ../link_checker:/code/link_checker
      - ../link_checker_django/:/code/link_checker_django
      - ./settings.py:/code/link_checker_django/settings.py
    working_dir: /code/link_checker
    command: celery -A celery worker --pool=prefork --concurrency=30 -l DEBUG
    networks:
      - data
    depends_on:
      - db
      - redis
celery.py

from celery import Celery

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "link_checker_django.settings")
app = Celery("link_checker")
app.config_from_object("django.conf:settings")
app.conf.task_create_missing_queues = True
app.autodiscover_tasks()

settings.py

BROKER_URL = "redis://redis:6379/0"
CELERY_ACCEPT_CONTENT = ["json"]
CELERY_TASK_SERIALIZER = "json"

Структура файла:

link_checker_django
    deploy
        docker-compose.yml
    link_checker
        celery.py
    link_checker_django
        settings.py
    manage.py

Спасибо за любую помощь.

Вернуться на верх