如何在Docker中运行RabbitMQ和Celery Service?

时间:2018-07-30 09:29:52

标签: python docker flask rabbitmq celery

从Docker pull(远程请求)运行Python Flask应用程序时遇到问题。 在我的应用程序中,我使用RabbitMQ作为消息代理,而使用Celery作为任务调度程序。在本地运行时,它可以按预期工作,但是当我将应用程序放在Docker上,并且Docker从远程系统中将其拉出时,它运行良好,但是Celery和RabbitMQ并未与其一起运行,因此所有任务(带有method.delay() )正在无限运行,并且http请求未得到处理。

我需要将Python Flask应用程序放入Docker的帮助,因为我的应用程序具有异步任务,需要用Celery处理。我不知道如何修改 docker-compose.yml 以包括Celery服务。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您需要将芹菜容器与Rabbitmq链接。
来自https://docs.docker.com/compose/compose-file/#links

  

链接到另一个服务中的容器。既可以指定服务名称,也可以指定链接别名(SERVICE:ALIAS),也可以仅指定服务名称。

links:
  - rabbitmq

  - rabbitmq:rabbitmq