当net =“host”时按名称寻址docker容器

时间:2016-07-01 13:13:35

标签: docker graylog2

我在docker的--net="host"

中遇到了一些奇怪的问题

在自定义网络中部署容器时,我可以使用它的名称来解决它。但是在指定--net="host"而不是--net="customnetwork"时,没有暴露任何端口,并且我无法以任何方式处理容器。这是主机网络检查

docker network inspect host
[
    {
        "Name": "host",
        "Id": "663f54513dc2b631d6f81457a49374da3bc3193ac0617497c018c47520600e22",
        "Scope": "local",
        "Driver": "host",
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": []
        },
        "Containers": {
            "836433bfa612f84fa3d73dec0f920e47affc529b64636f5e1bf38a8b7ced2d75": {
                "Name": "elasticsearch",
                "EndpointID": "79950c18d12d6c7a6715135287d48c7963bed21c7b09b28f6d443b7040eea697",
                "MacAddress": "",
                "IPv4Address": "",
                "IPv6Address": ""
            },
            "86d4bd0c232a350371131c300c417877e0fb0c54b831f85093b0d2228d9b4f1a": {
                "Name": "mongo",
                "EndpointID": "492022820dd1e0a634e63c97962575b0bffe1c137163cce4df30aa8da39d1159",
                "MacAddress": "",
                "IPv4Address": "",
                "IPv6Address": ""
            },
            "e4b9179849afa529a6249b067c27953d0b187afdd5fac76112bb9b1369ae9556": {
                "Name": "graylog",
                "EndpointID": "e705eede1ddf897c8c4fc45ae6fcf77db8228b1a0c2d318f6045846e52951b93",
                "MacAddress": "",
                "IPv4Address": "",
                "IPv6Address": ""
            }
        },
        "Options": {}
    }
]

如您所见,没有分配任何IP地址,也没有任何改变。

我对码头工人比较新,也许我错过了什么。

有关背景的一些信息:

我正在使用docker来部署graylog2。它通过主机名引用mongodb和elasticserach,并且需要能够侦听主机上的端口以捕获传入的日志消息。端口在部署后配置。

Docker版本:1.10.3,build 20f81dd

感谢任何帮助。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

当您执行--net=host时,没有单独的网络,因为它只是在您的主机上进行侦听,所以没有可以转发的端口(您无法转发给自己,特别是因为您正在使用该端口),并且没有单独的IP,它是您主机的IP。