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