consumer:无法连接到amqp:// user:** @ localhost:5672 //:[Errno 111]连接被拒绝

时间:2017-06-22 22:24:57

标签: docker rabbitmq airflow

我正在尝试使用docker和rabbitMQ来建立我的气流。我正在使用rabbitmq:3管理图像。我可以访问rabbitMQ UI和API。

在气流中我正在建造气流网络服务器,气流调度器,气流工作者和气流花。 Airflow.cfg文件用于配置气流。

我使用的是<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table style="width:100%"> <tr> <th>v1</th> <th>v2</th> <th>v3</th> <th>v4</th> <th>v5</th> </tr> <tr> <td><label><input type="checkbox" name="selected" value="a" class="offers" />a</label></td> <td><label><input type="checkbox" name="selected" value="b" class="offers" />b</label></td> <td><label><input type="checkbox" name="selected" value="c" class="offers" />c</label></td> <td><label><input type="checkbox" name="selected" value="d" class="offers" />d</label></td> </table> <div id="val"></div>broker_url = amqp://user:password@127.0.0.1:5672/

我的docker撰写文件如下

celery_result_backend = amqp://user:password@127.0.0.1:5672/

我可以使用docker compose构建图像。但是,我无法将我的气流调度程序连接到rabbitMQ。我收到了以下错误:

  

consumer:无法连接到amqp:// user:** @ localhost:5672 //:[Errno   111]连接被拒绝。

我尝试过使用127.0.0.1和localhost。

我做错了什么?

2 个答案:

答案 0 :(得分:6)

airflow容器中,您应该能够连接到服务rabbit1。所以您需要做的就是将amqp://user:**@localhost:5672//:更改为amqp://user:**@rabbit1:5672//:,它应该有效。

Docker撰写创建一个默认网络,并附加未明确定义网络的服务。

您无需暴露5672&amp; Rabbit1上的15672个端口,除非您希望能够从应用程序外部访问它。

此外,通常不建议在docker-compose中构建图像。

答案 1 :(得分:1)

我通过使用命令sudo apt install rabbitmq-server将RabbitMQ服务器安装到我的系统中解决了此问题。