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

Docker pika.BlockingConnection()在容器中失败,在VM中运行良好,docker,rabbitmq,containers,pika,python-pika,Docker,Rabbitmq,Containers,Pika,Python Pika,我正在尝试在容器中使用rabbitmq。我安装了所需的库,然后尝试创建BlockingConnection,但失败了。当我在任何虚拟机或物理主机上尝试它时,同样的事情也会发生。它仅在容器中失败。以下是步骤:- 安装所需的软件包:- $ docker run -it ubuntu:15.10 /bin/bash root@d3d44e2656a9# root@d3d44e2656a9# sudo apt-get -y install python-pip rabbitmq-server wget

我正在尝试在容器中使用rabbitmq。我安装了所需的库,然后尝试创建BlockingConnection,但失败了。当我在任何虚拟机或物理主机上尝试它时,同样的事情也会发生。它仅在容器中失败。以下是步骤:-

安装所需的软件包:-

$ 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
接下来,我尝试创建一个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
>>> pika.BlockingConnection(pika.ConnectionParameters('127.0.0.1'))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 339, in __init__
    self._process_io_for_connection_setup()
  File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 374, in _process_io_for_connection_setup
    self._open_error_result.is_ready)
  File "/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_connection.py", line 395, in _flush_output
    raise exceptions.ConnectionClosed()
pika.exceptions.ConnectionClosed
>>>
root@d3d44e2656a9#蟒蛇
Python 2.7.6(默认值,2015年6月22日,17:58:13)
[GCC 4.8.2]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>进口鼠兔
>>>pika.BlockingConnection(pika.ConnectionParameters('127.0.0.1'))
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking_-connection.py”,第339行,在__
self.\u进程\u io\u用于连接\u设置()
文件“/usr/local/lib/python2.7/dist packages/pika/adapters/blocking_connection.py”,第374行,用于连接设置的进程io
self.\u打开\u错误\u结果。准备好了吗)
文件“/usr/local/lib/python2.7/dist-packages/pika/adapters/blocking\u connection.py”,第395行,在\u flush\u输出中
引发异常。ConnectionClosed()
pika.exceptions.ConnectionClosed
>>>

我不确定集装箱内有什么问题。我用的是ubuntu:15.10图像。对此的任何反馈都会非常有用。

看起来rabbitmq服务器进程没有运行。由于它是一个容器,因此默认情况下,除了entrypoint中指定的进程外,不会运行其他进程。一旦启动rabbitmq服务器,它就开始正常工作

root@d3d44e2656a9# /etc/init.d/rabbitmq-server start

我现在需要做的就是确保在我的入口点中,首先启动rabbitmq服务器进程,然后启动依赖服务。这应该适用于部署在容器中的任何内容。

您是否尝试过使用官方rabbitmq映像?非常感谢。是的,我做了。看起来他们在他们的档案里做了很多事情,我不想要这些。我想有我自己的特定用途的最小图像。