从一个单独的容器和主机遇到一个容器暴露的端口时遇到问题

我有两台在我的机器上本地运行的stream浪主机,我试图从另一台主机上的另一个容器中打一台主机中的容器。

当我从容器内curl时:

curl search.mydomain.localhost:9090/ping 

我收到curl: (7) Failed to connect to search.mydomain.localhost port 9090: Connection refused

但是,当我没有指定端口curl:

 curl search.mydomain.localhost/ping OK 

我敢肯定,端口是正确的暴露,如果我尝试从主机内,而不是在我得到的容器相同:

 curl search.mydomain.localhost:9090/ping OK 

这说明9090端口的服务是暴露的,但是有一些networking问题与容器试图达成。

运行相同版本的vbox / vagrant / docker / docker的开发人员编写并使用repos的相同提交在从容器内执行服务时不会遇到任何麻烦。 我真的很难从这里尝试什么…

我正在使用默认桥接networking:

 sudo brctl show bridge name bridge id STP enabled interfaces docker0 8000.02427c9cea3c no veth5dc6655 vethd1867df docker network inspect bridge [ { "Name": "bridge", "Id": "e4b8df614d4b8c451cd4a26c5dda09d22d77de934a4be457e1e93d82e5321a8b", "Scope": "local", "Driver": "bridge", "IPAM": { "Driver": "default", "Config": [ { "Subnet": "172.17.0.1/16", "Gateway": "172.17.0.1" } ] }, "Containers": { "1d67a1567ff698694b5f10ece8a62a7c2cdcfcc7fac6bc58599d5992def8df5a": { "EndpointID": "4ac99ce582bfad1200d59977e6127998d940a688f4aaf4f3f1c6683d61e94f48", "MacAddress": "02:42:ac:11:00:03", "IPv4Address": "172.17.0.3/16", "IPv6Address": "" }, "3e8b6cbd89507814d66a026fd9fad26d649ecf211f1ebd72ed4689b21e781e2c": { "EndpointID": "2776560da3848e661d919fcc24ad3ab80e00a0bf96673e9c1e0f2c1711d6c609", "MacAddress": "02:42:ac:11:00:02", "IPv4Address": "172.17.0.2/16", "IPv6Address": "" } }, "Options": { "com.docker.network.bridge.default_bridge": "true", "com.docker.network.bridge.enable_icc": "true", "com.docker.network.bridge.enable_ip_masquerade": "true", "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", "com.docker.network.bridge.name": "docker0", "com.docker.network.driver.mtu": "1500" } } ] 

我在Docker版本1.9.0,版本76d6bc9和docker-compose版本:1.5.0。

任何帮助,将不胜感激。

我解决了我的问题,似乎可能是一个错误。 本质上,容器是从本地macbookinheritance/ etc / hosts,绕过运行容器的实际stream浪主机上的/ etc / hosts,导致我input“127.0.0.1 search.mydomain.localhost”,使所有的连接尝试容器redirect到它自己。