2017-06-22 11 views
3

ドッカーとrabbitMQを使用してエアフローを構築しようとしています。私はrabbitmqを使用しています:3管理画像。私はrabbitMQ UIとAPIにアクセスできます。コンシューマ:amqp:// userに接続できません:** @ localhost:5672 //:[Errno 111] Connection refused

気流の中で私は、気流ウェブサーバ、気流スケジューラ、気流作業員、気流花を構築しています。 Airflow.cfgファイルは、気流を設定するために使用されます。

version: '3' 
services: 
    rabbit1: 
    image: "rabbitmq:3-management" 
    hostname: "rabbit1" 
    environment: 
     RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" 
     RABBITMQ_DEFAULT_USER: "user" 
     RABBITMQ_DEFAULT_PASS: "password" 
     RABBITMQ_DEFAULT_VHOST: "/" 
    ports: 
     - "5672:5672" 
     - "15672:15672" 

    labels: 
     NAME: "rabbitmq1" 

    webserver: 
    build: "airflow/" 
    hostname: "webserver" 
    restart: always 
    environment: 
     - EXECUTOR=Celery 
    ports: 
     - "8080:8080" 
    depends_on: 
     - rabbit1 
    command: webserver 

    scheduler: 
    build: "airflow/" 
    hostname: "scheduler" 
    restart: always 
    environment: 
     - EXECUTOR=Celery 
    depends_on: 
     - webserver 
     - flower 
     - worker 
    command: scheduler 

    worker: 
    build: "airflow/" 
    hostname: "worker" 
    restart: always 
    depends_on: 
     - webserver 
    environment: 
     - EXECUTOR=Celery 
    command: worker 

    flower: 
    build: "airflow/" 
    hostname: "flower" 
    restart: always 
    environment: 
     - EXECUTOR=Celery 
    ports: 
     - "5555:5555" 
    depends_on: 
     - rabbit1 
     - webserver 
     - worker 
    command: flower 

を次のように

私は

broker_url = amqp://user:[email protected]:5672/celery_result_backend = amqp://user:passwo[email protected]:5672/マイドッキングウィンドウのコンポーズファイルを使用しています私はドッキングウィンドウのコンを使用して画像を構築することができる午前です。しかし、気流スケジューラをrabbitMQに接続することができません。私は次のエラーが発生しています:

consumer: Cannot connect to amqp://user:**@localhost:5672//: [Errno 111] Connection refused.

私は127.0.0.1とlocalhostの両方を使ってみました。

私は間違っていますか?

答えて

3

airflowコンテナ内から、サービスrabbit1に接続できるはずです。したがって、amqp://user:**@localhost:5672//:amqp://user:**@rabbit1:5672//:に変更するだけで済みます。

Docker composeはデフォルトネットワークを作成し、明示的にネットワークを定義していないサービスを接続します。

アプリケーション外からアクセスできるようにしたい場合を除き、rabbit1の5672 & 15672ポートを公開する必要はありません。

また、一般的に、ドッカー製作の内部に画像を構築することは推奨されません。

関連する問題