我正在Windows 7(SP1)64位计算机上使用最新版本的boot2docker版本1.3.2、495c19a。
我的Docker容器正在运行一个celery进程,该进程试图连接到运行boot2docker的同一台计算机上运行的RabbitMQ服务。
在docker容器中运行的Celery进程无法连接到RabbitMQ并报告以下内容:
[2014-12-02 10:28:41,141:ERROR / MainProcess]使用者:无法连接到amqp://来宾:** @ 127.0.0.1:5672//:[Errno 111]连接被拒绝。2.00秒后重试...
我有理由相信这是一个与网络相关的问题,与从容器到VirtualBox主机以及从主机到在本地计算机上运行的RabbitMQ服务的路由相关。我不知道该如何配置,我想知道是否有人可以建议我如何进行?
我尝试在端口转发中设置端口5672,但没有用(但是我相信这是为了向VM传入流量,例如boot2docker ssh)。
我正在将容器作为docker run -i -t标记名运行
运行容器时,我未使用-h指定主机。
如果这个问题显得很无能为力,或者答案似乎很明显,我感到很抱歉...我非常感谢您的帮助!
一些其他信息:
主机VM的路由表是boot2docker在安装过程中配置的,如下所示:
docker0 IP地址为172.17.42.1
eth0 IP地址是10.0.2.15
eth1 IP地址为192.168.59.103
eth0附加到VirtualBox VM网络配置中的NAT(适配器1)上。
适配器1具有ssh的端口转发设置;主机IP 127.0.0.1,主机端口2022,访客端口22的默认设置。
eth1连接到仅主机适配器(适配器2)。
两个适配器都设置为混杂模式(全部允许)。
泊坞窗容器的IP地址为172.17.0.33。
[2014-12-02 10:28:41,141:ERROR / MainProcess]使用者:无法连接到amqp://来宾:** @ 127.0.0.1:5672//:[Errno 111]连接被拒绝。2.00秒后重试...
127.0.0.1是一个特殊的IP地址,表示“我”,而在容器内部则表示“我是容器”,因此这就是它未连接到外部主机的原因。因此,第一件事就是将您尝试连接Rabbit的IP地址更改为运行它的外部主机的IP地址。
然后,您可能必须对路由做些事情,但让我们一次迈出一步。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句