【发布时间】:2014-12-02 11:40:02
【问题描述】:
我在 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 tagname 运行
我在运行容器时没有用 -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)。
两个适配器都设置为混杂模式(全部允许)。
docker容器的IP地址是172.17.0.33。
【问题讨论】:
-
Rabbit 是在 Windows 主机上还是在 VirtualBox Linux 客户机上运行?
-
RabbitMQ 服务正在 Windows 主机上运行。
标签: networking rabbitmq virtualbox docker boot2docker