麻烦从单独的容器中撞击容器的暴露端口&主办

时间:2015-11-09 19:48:50

标签: macos docker vagrant

我有两个在我的机器上运行本地的流浪主机,我试图从另一台主机上的第二个容器中攻击一个主机内的容器。

当我从容器中的卷曲时:

curl search.mydomain.localhost:9090/ping

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

但是当我卷曲而没有指定端口时:

curl search.mydomain.localhost/ping
OK

我确定端口是正确暴露的,就像我从主机中的而不是我收到的容器中尝试相同:

curl search.mydomain.localhost:9090/ping
OK

这表明端口9090上的服务已暴露,但是容器试图访问它时存在一些网络问题。

运行相同版本的vbox / vagrant / docker / docker-compose并使用相同的repos提交的开发人员可以毫不费力地从容器中命中服务。我真的很难过从这里尝试一下......

我正在使用默认网桥:

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。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

我解决了我的问题,这似乎可能是一个错误。本质上,容器从我的本地macbook继承/ etc / hosts,绕过运行容器的实际vagrant主机上的/ etc / hosts,导致我输入“127.0.0.1 search.mydomain.localhost”以进行所有连接尝试容器重定向到自身。