Tag: pika

pika.exceptions.ConnectionClosed:到172.18.0.3:5672的连接失败:连接被拒绝

我试图连接一个Pika客户端与RabbitMQ服务器。 他们都在不同的docker图像,他们在同一个dockernetworking。 我build立了我的networking docker network create my_first_net 我正在运行RabbitMQ图像rabbitmq docker run -d –network my_first_net –hostname rabbitmqhost -p 35672:15672 -p 45672:5672 rabbitmq 我正在运行Pika图像ms2-1 docker run –network my_first_net –hostname rabbitmq ms2-1 这是pika-client ms2.py的代码: import pika exchange = 'gateway_exchange' myName = 'microservice2' myKey = '#.ms2.#' gwKey = 'gw' credentials = pika.PlainCredentials('guest', 'guest') parameters = pika.ConnectionParameters('rabbitmq', 5672, '/', credentials) def […]

为Docker容器指定一个固定的IP地址

我使用部署在Docker容器中的pika + rabbitMQ为我正在开发的分布式系统提供消息传递基础结构。 我已经安装了相关的软件,但是,我需要一种方法来给我的RabbitMQ服务添加一个静态IP地址(请参阅下面的代码片段) – 但似乎无法做到这一点 – 似乎这不是一件容易的事情要做(甚至可能做不到) 。 我需要一个静态IP地址,以便下面的代码可以工作。 connection = pika.BlockingConnection(pika.ConnectionParameters(host ='172.17.0.2')) 如果真的不可能将一个静态地址添加到正在运行的容器 – 也许有一种方法可以查询docker(我想我记得看到一个inspect命令的标志,允许检索邮件容器/服务的IP地址,然后我可以通过shell脚本传递给生产者/消费者。 话虽如此,后一种方法对于重新启动(消息传递机器)等是不健壮的,所以如果可能的话,我宁愿使用静态IP解决scheme。

Docker上的RabbitMQ:当给定端口时,Pika挂起连接,连接被拒绝,没有端口

我正尝试使用pika连接到队列,在我的本地盒子上运行,并在docker容器中运行rabbitmq。 我可以访问http://0.0.0.0:15677上的rabbitmq,同时使用curl命令并在浏览器中查看它,所以我知道rabbitmq看起来好像运行正常 – 但是,我无法使用python连接它。 当我不在我的pika.ConnectionParemeters中包含端口时,连接立即被彻底拒绝。 当我包含端口时,连接挂起,从不显示在rabbitmq的一侧。 不知道docker或pika是否会有一些奇怪的事情发生,但值得一提的是,我的代码连接到一个不是docker容器的rabbitmq服务器。 我正在运行最新版本的OSX,并使用python 2.7和pika 0.10.0。 RMQ_URL = '0.0.0.0' HOST_QUEUE = 'snarfer' VHOST = 'beta' RMQ_PORT = 15677 ROUTING_KEY = 'snarfer.discovery' self.connection = pika.BlockingConnection(pika.ConnectionParameters( host=s.RMQ_URL, virtual_host=s.VHOST, port=s.RMQ_PORT)) ***编辑:添加凭据到ConnectionParameters什么也不做。

从Docker容器访问在本地机器上运行的rabbitmq

我想testing一个docker镜像,运行一个订阅rabbitmq队列的python脚本。 我在我的本地机器上运行rabbitmq,并且想要testing在同一台机器上运行的docker容器,并订阅当地的rabbimq服务器。 我希望脚本读取在docker run命令中设置的环境variables'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?

socket.gaierror gaierror:名称或服务未知 – pika rabbitMQ

我试图从托pipe在localhost:5000上的python服务器发送消息到RabbitMQ服务器(使用RabbitMQ的docker镜像),但是出现以下错误: socket.gaierror gaierror:[Errno -2]名称或服务未知 我正在使用命令运行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! " 错误是在线: 连接= pika.BlockingConnection(参数) 主要是因为参数的参数。 我无法find此错误的确切解决scheme。

在Docker容器中使用Pika在Python中运行RabbitMQ的问题

我正尝试从交易所消费。 我正在遵循本指南: 在rabbitmq.com上 。 创build交换,但它不会消耗任何我通过网页pipe理页面手动发布。 这是我的代码: # external libs import pika def receive(mq_addr, exchange): print('receive message begin, consume from:', exchange, 'at', mq_addr) connection = pika.BlockingConnection(pika.ConnectionParameters(host=mq_addr)) channel = connection.channel() channel.exchange_declare(exchange=exchange, type='fanout') result = channel.queue_declare(exclusive=True) queue_name = result.method.queue channel.queue_bind(exchange=exchange, queue=queue_name) print(' [*] Waiting for logs. To exit press CTRL+C') def callback(ch, method, properties, body): print(" [x] %r" […]

pika.BlockingConnection()在容器内失败,在VM中运行良好

我正在尝试在我的容器中使用rabbitmq。 我安装了所需的库,然后尝试创buildBlockingConnection,但失败。 当我在任何虚拟机或物理主机上尝试时,同样的事情是有效的。 它只有容器失败。 这里是步骤: 安装所需的软件包: – $ docker run -it ubuntu:15.10 /bin/bash root@d3d44e2656a9# root@d3d44e2656a9# sudo apt-get -y install python-pip rabbitmq-server wget \ && pip install pika 接下来,我尝试创build一个BlockingConnection,但是失败。 同样的事情在虚拟机上工作。 root@d3d44e2656a9# python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pika >>> […]

使用Raspberry PI和Docker容器的Pika到RabbitMQ连接失败

我正在做一个Raspberry PI的简单设置,通过RabbitMQ与服务器进行通信,而我并没有build立连接。 这是设置: 客户端:Raspberry PI(Raspbien Debian 8.0),Python 2.7和Pika 0.10.0 RabbitMQ服务器:MacMini运行10.11.6 – OS X El Capitan与Docker 在Mac上执行Docker: docker run -v /Users/tigelane/Documents/Development/brimstone_manager:/var/lib/rabbitmq -d –hostname my-rabbit –name some-rabbit rabbitmq:3 在客户端执行的Python代码: def rabbit_post(): entry = get_ipaddress() post_time = datetime.datetime.now().strftime("%d %B %Y : %I:%M%p") rabbit_server = 'machine.tigelane.com' credentials = pika.PlainCredentials('machine', 'machine') connectionParams = pika.ConnectionParameters(host=rabbit_server, credentials=credentials) connection = pika.BlockingConnection(connectionParams) channel = […]