/ / Docker設定:Celery + RabbitMQ - docker、rabbitmq、セロリ、docker-compose、dockerfile

ドッカー設定:Celery + RabbitMQ - ドッカー、rabbitmq、セロリ、ドッカー作成、ドッカーファイル

DockerコンテナでCeleryとRabbitMQを実行する方法dockerfileのサンプルやファイルの作成を教えてください。

これは私が持っているものです:

Dockerfile:

FROM python:3.4
ENV PYTHONBUFFERED 1
WORKDIR /tasker
ADD requirements.txt /tasker/
RUN pip install -r requirements.txt
ADD . /tasker/

docker-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

私が抱えている問題は、Celeryを生きたまま走らせ続けることができないということです。

回答:

回答№1は2

2018を更新 下記のコメント 〜によって フロラン・グメリン、セロリのイメージは現在公式に廃止されています 公式pythonイメージ.

でコメントとして セロリ/ issue 1

この画像を使うのはばかげているようです。通常Djangoと同じようにアプリケーションコンテナを持っている場合、すべての依存関係が必要です(インポートしたもの) tasks.py)このコンテナに再度取り付けます。

だからこそ、他のプロジェクト(例cookiecutter-django) アプリケーションコンテナを再利用する Celeryの場合は、異なるコマンド(command:のみ)を実行します。 celery ... workerそれに対して docker-compose.

注意してください、今 docker-compose.yml と呼ばれる local.yml 使用する start.sh.


元の答え:

あなたは公式を試すことができます セロリDockerfile、それは前にもう少しセットアップをします CMD ["celery", "worker"].

見る その画像の使い方 正しく実行する

セロリワーカーを始める(RabbitMQ Broker)

$ docker run --link some-rabbit:rabbit --name some-celery -d celery

クラスタの状態を確認する

$ docker run --link some-rabbit:rabbit --rm celery celery status

あなたがあなたのdocker-composeでそのイメージを使うことができるなら、あなたはあなた自身の始めを作ってみることができます FROM celery の代わりに FROM python.


回答№2については2

アプリケーションをdockerizingしている間、私は同様のCelery終了問題を抱えています。あなたはウサギのサービス名を使うべきです(あなたの場合はそれです) rabbitmq)あなたのセロリ設定のホスト名として。
つかいます broker_url = "amqp://guest:guest@rabbitmq:5672//" の代わりに broker_url = "amqp://guest:guest@localhost:5672//" .

私の場合、主なコンポーネントはフラスコ、セロリとRedisです。私の問題は ここに リンクを確認してください、あなたはそれが役に立つかもしれません。


回答№3の場合は1

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