【发布时间】:2016-08-25 13:07:37
【问题描述】:
我想测试一个运行 python 脚本订阅 rabbitmq 队列的 docker 镜像。 我在本地机器上运行了rabbitmq,并且想测试在同一台机器上运行的docker容器并让它订阅本地rabbimq服务器。
我希望脚本读取在 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
有什么简单的方法可以从 docker 容器中访问本地 rabbitmq 吗?
【问题讨论】: