socket.gaierror gaierror: [Errno -2] Name or service not known - pika rabbitMQ

socket.gaierror gaierror: [Errno -2] Name or service not known - pika rabbitMQ

我正在尝试从 localhost:5000 上托管的 python 服务器向 RabbitMQ 服务器发送消息(使用 RabbitMQ 的 docker 图像),但我收到以下信息错误:

socket.gaierror gaierror: [Errno -2] Name or service not known

我是 运行 RabbitMQ 的 docker 图像,使用命令 'rabbithost' 是我使用的主机名:

sudo docker run -d --hostname rabbithost --name rabbitmq -p 15672:15672 -p 5672:5672 -p 5671:5671 rabbitmq:3-management

这是给出错误的 python 代码:

def send_to_queue(message):
    credentials = pika.PlainCredentials('guest', 'guest')
    parameters = pika.ConnectionParameters('rabbithost', 5672, '/', credentials)
    connection = pika.BlockingConnection(parameters)
    channel = connection.channel()
    channel.queue_declare(queue='hello')
    channel.basic_publish(exchange='', routing_key='hello',body=message)
    connection.close()
    return "Message Sent!  "

错误在行:

connection = pika.BlockingConnection(parameters)

主要是因为参数参数。 我无法找到此错误的确切解决方案。

python代码运行在哪里?在本地主机上?如果是,那么您需要将 rabbithost 更改为 127.0.0.1 或在 /etc/hosts 中为 127.0.0.1 rabbithost

创建一个主机条目