我正在尝试使用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。
我做错了什么?
答案 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服务器安装到我的系统中解决了此问题。