我有一个使用以下命令运行的RabbitMQ泊坞映像:
docker pull rabbitmq
sudo docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq
[之后,我尝试使用pika
模块运行python客户端,以获取与Rabbitmq服务器的连接。
在启动服务器之前,它给出了一个ConnectionRefusedError
,但是在运行图像之后,出现以下错误:
pika.exceptions.ChannelClosedByBroker: (404, "NOT_FOUND - no queue 'logs' in vhost '/'")
这是我用来建立连接的python脚本:
from connection_manager import ConnectionManager
from mq_handler import MessageBroker
rabbit_mq_conn = ConnectionManager.init_connection()
mb = MessageBroker(rabbit_mq_conn)
if __name__ == "__main__":
mb.run()
这是一段与pika和Rabbit MQ docker容器配合使用的代码。它至少解决了您似乎遇到的一个问题,即在使用队列之前未创建队列。