gpt4 book ai didi

python - Docker 连接上的 RabbitMq 失败

转载 作者:行者123 更新时间:2023-11-28 17:10:16 28 4
gpt4 key购买 nike

我正在学习 RabbitMQ 的基础知识,并将其安装在容器上。检查容器时似乎没问题。

PS C:\Users\jvidin> docker port rabbitmq
25672/tcp -> 0.0.0.0:32776
4369/tcp -> 0.0.0.0:32779
5671/tcp -> 0.0.0.0:32778
5672/tcp -> 0.0.0.0:32777
PS C:\Users\jvidin> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d2fe1297c403 rabbitmq:latest "docker-entrypoint..." 22 minutes ago Up 22 minutes 0.0.0.0:32779->4369/tcp, 0.0.0.0:32778->5671/tcp, 0.0.0.0:32777->5672/tcp, 0.0.0.0:32776->25672/tcp rabbitmq
55253e21bb49 b38ce49eadce "docker-entrypoint..." 8 weeks ago Up 3 hours 0.0.0.0:5433->5432/tcp mypostgres9.6

但是当尝试通过如下所示的 Pika Python 库连接时失败并显示以下消息

pika.exceptions.ConnectionClosed: Connection to 127.0.0.1:5672 failed: timeout

代码

import pika
connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
channel = connection.channel()

channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()

正确连接信息下的解决方案

connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost', port=32777))

最佳答案

您需要配置您的 python 客户端以使用 localhost:32777

只需检查 docker port rabbitmq 的输出。它显示容器端口 5672 映射到 docker 主机上的端口 32777

关于python - Docker 连接上的 RabbitMq 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48068691/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com