Dockerconfiguration:Celery + RabbitMQ
如何在docker集装箱中运行Celery和RabbitMQ? 你能指点我示例docker文件或撰写文件?
这是我的:
Dockerfile:
FROM python:3.4 ENV PYTHONBUFFERED 1 WORKDIR /tasker ADD requirements.txt /tasker/ RUN pip install -r requirements.txt ADD . /tasker/
泊坞窗,compose.yml
rabbitmq: image: tutum/rabbitmq environment: - RABBITMQ_PASS=mypass ports: - "5672:5672" - "15672:15672" celery: build: . command: celery worker --app=tasker.tasks volumes: - .:/tasker links: - rabbitmq:rabbit
我遇到的问题是我不能让芹菜活着或跑步。 它不断退出。
您可以尝试模拟官方的芹菜Dockerfile ,它在CMD ["celery", "worker"]
之前做了更多的设置。
查看该图像的使用情况以正确运行。
开始一个芹菜工(RabbitMQ经纪人)
$ docker run --link some-rabbit:rabbit --name some-celery -d celery
检查群集的状态
$ docker run --link some-rabbit:rabbit --rm celery celery status
如果你可以在你的docker-compose中使用这个图片,那么你可以尝试构build自己的起始的FROM celery
而不是FROM python
。
我有类似的芹菜退出问题,而dockerizing应用程序。 您应该在您的芹菜configuration中使用兔子服务名称(在您的情况下它是rabbitmq
)作为主机名。 rabbitmq
,
使用broker_url = 'amqp://guest:guest@rabbitmq:5672//'
而不是broker_url = 'amqp://guest:guest@localhost:5672//'
。
在我的情况下,主要组件是烧瓶,芹菜和Redis.My问题是这里请检查链接,你可能会觉得它有用。
在我的docker-compose.yml中使用了一些东西。 这个对我有用。 检查在这个媒介的细节
version: '2' services: rabbit: hostname: rabbit image: rabbitmq:latest environment: - RABBITMQ_DEFAULT_USER=admin - RABBITMQ_DEFAULT_PASS=mypass ports: - "5672:5672" worker: build: context: . dockerfile: dockerfile volumes: - .:/app links: - rabbit depends_on: - rabbit