Celery OperationalError [Errno 111] Отказ в подключении

У меня есть один важный вопрос, который беспокоит меня уже 2 последних дня. У меня есть контейнеры django, postgres и rabbitmq в docker. Я хочу соединить celery с rabbitmq, но если я делаю это через контейнер django (docker-compose exec web celery -A myshop worker -l info), он не соединяется вообще. Что я только не пробовал - ничего не получается. Получаю ошибку 111 connection refused. Если я делаю прямо (celery -A myshop worker -l info), он работает и подключается, но как только задание завершается, я получаю ту же проблему - ошибка 111. Пожалуйста, помогите мне.

services:
  db:
    image: postgres
    volumes:
      - ./data/db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/code
    ports:
      - "8000:8000"
    environment:
      - POSTGRES_NAME=postgres
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    depends_on:
      - db
  rabbitmq:
    image: rabbitmq:3.11.8-management-alpine
    ports:
      - "5672:5672"
      - "15672:15672"
    volumes:
      - ./.docker/rabbitmq/data/:/var/lib/rabbitmq/
init.py

from .celery import app as celery_app

__all__ = ['celery_app']
celery.py

import os
from celery import Celery

# set the default Django settings module for the 'celery' program.
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myshop.settings')

app = Celery('myshop')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
tasks.py

from celery import shared_task
from django.core.mail import send_mail
from .models import Order


@shared_task
def order_created(order_id):
    """Task to send an e-mail notification when an order is successfully created."""
    order = Order.objects.get(id=order_id)
    subject = f'Order nr. {order.id}'
    message = f'Dear {order.first_name},\n\n You have successfully placed an order. Your order ID is {order.id}.'
    mail_sent = send_mail(subject, message, 'admin@myshop.com', [order.email])
    return mail_sent

В файле views.py я использую функцию .delay() order_created.delay(order.id)

Я использовал CELERY_BROKER_URL = 'amqp://guest:guest@localhost:5672' - не работаетt work I created a new rabbitmq user - doesn. Хотя может я что-то перепутал в томах rabbitmq, потому что мой пользовательt persisted Iперепробовал все решения, относящиеся к этой проблеме, и никто не помогает

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