我想测试一个运行预订rabbitmq队列的python脚本的docker镜像。 我在我的本地机器上运行rabbitmq,并且想要测试在同一台机器上运行的docker容器,并让它订阅本地的rabbimq服务器。从Docker容器中访问在本地机器上运行的rabbitmq
我希望脚本读取在docker run命令中设置的环境变量'QUEUE_IP'。
的Python脚本:
#!/usr/bin/env python
import pika
host = os.environ.get('QUEUE_IP')
connection = pika.BlockingConnection(pika.ConnectionParameters(
host=host))
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
print(" [x] Received %r" % body)
channel.basic_consume(callback,
queue='hello',
no_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()
它不工作,如果QUEUE_IP = 127.0.0.1,我使用机器的本地IP地址也试过,但我只得到
pika.exceptions.ProbableAuthenticationError
是有从码头集装箱访问本地rabbitmq的简单方法吗?