Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Can';t将芹菜与docker上的rabbitmq服务器连接_Python_Docker_Docker Compose_Rabbitmq_Celery - Fatal编程技术网

Python Can';t将芹菜与docker上的rabbitmq服务器连接

Python Can';t将芹菜与docker上的rabbitmq服务器连接,python,docker,docker-compose,rabbitmq,celery,Python,Docker,Docker Compose,Rabbitmq,Celery,我正在尝试创建docker compose文件,该文件将运行带有芹菜任务的django apache服务器,并使用rabbitmq作为消息brooker。我的问题是芹菜无法连接到rabbitmq。 我得到了一个错误: [2021-02-18 08:11:44769:错误/主进程]使用者:无法连接到amqp://guest:**@rabbitmq:5672/:[Errno 111]连接被拒绝 这也是我第一次创建docker图像,所以我可能在那里犯了很多错误 我的docker撰写文件: versio

我正在尝试创建docker compose文件,该文件将运行带有芹菜任务的django apache服务器,并使用rabbitmq作为消息brooker。我的问题是芹菜无法连接到rabbitmq。 我得到了一个错误:

[2021-02-18 08:11:44769:错误/主进程]使用者:无法连接到amqp://guest:**@rabbitmq:5672/:[Errno 111]连接被拒绝

这也是我第一次创建docker图像,所以我可能在那里犯了很多错误

我的docker撰写文件:

version: "3.8"

services:
  server: &server
    build:
      context: .
    environment:
      - PYTHONUNBUFFERED=1
      - CELERY_BROKER=amqp://admin:password@rabbitmq:5672//
    volumes:
      - .:/var/www/html/public
    ports:
      - 80:80
    command:
      ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
    depends_on:
      - rabbitmq
      - celery_beat
    networks:
      - main
  
  rabbitmq:
    container_name : rabbitmq
    image: rabbitmq:3.8
    hostname: rabbitmq
    ports:
      - 5672:5672
    networks:
      - main
    environment:   
    - RABBITMQ_DEFAULT_USER=admin
    - RABBITMQ_DEFAULT_PASS=password


  celery_worker:
    <<: *server
    hostname: rabbitmq
    command: celery -A public worker -l INFO
    ports: []
    networks:
      - main
    depends_on:
      - rabbitmq
    environment:
    #- RABBITMQ_DEFAULT_USER=admin
    #- RABBITMQ_DEFAULT_PASS=password
    - CELERY_BROKER=amqp://admin:password@rabbitmq:5672//

networks:
  main:
芹菜设置:

CELERY_BROKER_URL = os.environ['CELERY_BROKER']

固定的。问题是我在芹菜工人中设置了主机名。如果有人有类似的问题,只需删除芹菜上的hostname:rabbitmq

CELERY_BROKER_URL = os.environ['CELERY_BROKER']