Docker Desktop创建RabbitMQ

RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP),用于在分布式系统中传递消息。使用Docker Desktop可以很方便地创建和运行RabbitMQ容器。本文将介绍如何使用Docker Desktop创建RabbitMQ容器,并提供相应的代码示例。

准备工作

在开始之前,我们需要确保已经安装并配置好了Docker Desktop。如果还没有安装,请根据操作系统的要求安装Docker Desktop。安装完成后,通过运行以下命令验证Docker是否正确安装:

docker version

如果能正确显示Docker版本信息,则说明Docker已经成功安装。

创建RabbitMQ容器

首先,在终端中运行以下命令拉取RabbitMQ镜像:

docker pull rabbitmq

拉取完成后,我们可以通过运行以下命令创建并启动RabbitMQ容器:

docker run -d --name my-rabbit -p 5672:5672 -p 15672:15672 rabbitmq:latest

解释一下这个命令:

  • -d 参数表示以后台模式运行容器;
  • --name 参数指定容器的名称,这里我们将容器命名为my-rabbit
  • -p 参数用来映射容器内部的端口到主机上,这里我们将RabbitMQ的默认端口5672映射到主机的5672端口上,将管理界面的端口15672映射到主机的15672端口上;
  • rabbitmq:latest 是我们之前拉取的RabbitMQ镜像的标签。

运行以上命令后,我们可以通过访问http://localhost:15672打开RabbitMQ的管理界面,初始的用户名和密码都是guest

使用RabbitMQ

以下是一个使用RabbitMQ发送和接收消息的示例代码:

import pika

# 连接到RabbitMQ服务器
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# 创建一个名为hello的队列
channel.queue_declare(queue='hello')

# 发送一条消息
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")

# 定义一个回调函数来处理接收到的消息
def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)

# 监听队列中的消息
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)

print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

解释一下这段代码:

  • pika 是一个Python库,用于与RabbitMQ进行交互。我们首先需要通过import pika导入这个库;
  • connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) 创建一个连接到RabbitMQ服务器的连接;
  • channel = connection.channel() 创建一个通道用于发送和接收消息;
  • channel.queue_declare(queue='hello') 创建一个名为hello的队列;
  • channel.basic_publish(exchange='', routing_key='hello', body='Hello World!') 发送一条消息到名为hello的队列中;
  • channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True) 监听队列hello中的消息,并调用callback函数处理接收到的消息;
  • channel.start_consuming() 启动消费者,开始监听队列中的消息。

总结

通过Docker Desktop可以轻松地创建和运行RabbitMQ容器,使得在本地开发和测试RabbitMQ应用程序变得更加方便。本文介绍了如何使用Docker Desktop创建RabbitMQ容器,并提供了相应的代码示例。希望本文对您理解和使用Docker Desktop创建RabbitMQ有所帮助。

参考链接

  • [RabbitMQ官方网站](
  • [pika Python库官方文档](